Foros del Web » Programando para Internet » PHP »

Problemas para actualizar la base de datos

Estas en el tema de Problemas para actualizar la base de datos en el foro de PHP en Foros del Web. Buenas a todos. Estoy intentando actualizar la base de datos desde un formulario, pero no consigo que esto suceda. Ya he comprobado que los valores ...
  #1 (permalink)  
Antiguo 10/06/2012, 03:31
 
Fecha de Ingreso: mayo-2012
Mensajes: 2
Antigüedad: 11 años, 10 meses
Puntos: 0
Problemas para actualizar la base de datos

Buenas a todos.

Estoy intentando actualizar la base de datos desde un formulario, pero no consigo que esto suceda. Ya he comprobado que los valores de $_POST se pasan correctamente con "echo". Por mucho que lo reviso no encuentro el fallo.

Este es el código:
Código PHP:
Ver original
  1. $name = $_POST["user"];
  2. $email = $_POST["email"];
  3. $password = $_POST["password"];
  4. $age = $_POST["age"];
  5. $gender = $_POST["gender"];
  6.  
  7.  
  8. $mysql_id = mysql_connect('localhost', 'root', '');
  9. mysql_select_db('database', $mysql_id);
  10. mysql_query("INSERT INTO user (name, email, gender, age, password)
  11. VALUES (".$name.",".$email.", ".$gender.", ".$age.", ".$password.")");

Gracias a todos por adelantado. Saludos.
  #2 (permalink)  
Antiguo 10/06/2012, 04:33
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Problemas para actualizar la base de datos

Hola carroviejo,
Tienes que darle el trato que se merecen los campos de tipo String, encierra la asignación en comillas.

Ej.
VALUES ('".$name."');

Saludos.
  #3 (permalink)  
Antiguo 10/06/2012, 06:39
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: Problemas para actualizar la base de datos

como te dice gjx2, es un problema de comillas.
Una sintaxis bastente cómoda es
Código PHP:
$sql="INSERT INTO ...... VALUES ('$name','$email','$gender','$age','$password')"
siempre y cuando, todo el texto esté entre comillas dobles, tal y como lo tienes.

lo de abajo, seria incorrecto.
Código PHP:
//MAL!!!!
$sql='INSERT INTO ...... VALUES ('$name','$email','$gender','$age','$password')';
$sql='INSERT INTO ...... VALUES ("$name","$email","$gender","$age","$password")'
SALUDOS.
  #4 (permalink)  
Antiguo 10/06/2012, 10:03
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Problemas para actualizar la base de datos

Cita:
Iniciado por oscartt67 Ver Mensaje
Una sintaxis bastente cómoda es
Código PHP:
$sql="INSERT INTO ...... VALUES ('$name','$email','$gender','$age','$password')"
Hola oscartt67, Lo cómodo no es lo mejor, lo mejor es la forma correcta aunque conseguirla nos lleve mas tiempo.

Hacerlo de esa forma '$name' funciona pero forza al interprete por que primero tiene que reconocer que el valor que esta encerrado es un string o una variable.
Lo correcto es delimitar el contenido así conseguimos un código mas limpio y fácil en la depuración.

Saludos.
  #5 (permalink)  
Antiguo 10/06/2012, 12:33
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: Problemas para actualizar la base de datos

gjx2.
De acuerdo contigo:lo cómodo no es lo mejor. Pero lo más rápido tampoco tiene porque serlo. Pienso que lo mejor tiene que contemplar la velocidad, la legibilidad y otras cosas.

Cierto que le damos mas trabajo al intérprete, pero, a mi modo de ver, y esto es muy personal, el código me resulta mas legible y limpio. Cuando digo limpio, digo eso, con menos comas, comillas y puntos.

Seria bueno hacer una prueba de en que modo afecta al rendimiento dicha sobrecarga. Creo que en una petición donde aparezca dicha sintaxis 10 o 20 veces, por ejemplo, la diferencia va a ser insignificante.

Pero como la suposición es la madre de todos los errores, cuando tenga tiempo, voy a realizar un test y comento los resultados. Y si alguien ya hizo la prueba y quiere postear resultados, magnífico, y salimos de dudas.

Saludos!
  #6 (permalink)  
Antiguo 12/06/2012, 12:35
 
Fecha de Ingreso: mayo-2012
Mensajes: 2
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Problemas para actualizar la base de datos

Os agradezco a los dos las soluciones que me habéis propuesto, ya lo he solucionado y funciona perfectamente. Muchas gracias¡¡¡

Etiquetas: formulario, mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:57.