Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

ayuda problema mysql

Estas en el tema de ayuda problema mysql en el foro de Mysql en Foros del Web. que tal tengo un problema me arroja el siguiente error: You have an error in your SQL syntax; check the manual that corresponds to your ...
  #1 (permalink)  
Antiguo 22/08/2008, 00:13
 
Fecha de Ingreso: julio-2008
Mensajes: 33
Antigüedad: 15 años, 9 meses
Puntos: 0
ayuda problema mysql

que tal tengo un problema me arroja el siguiente error:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@gmail.com, 987654321, Estado de México)' at line 1

$sql = "INSERT INTO general (Nombre, id_serv, e_mail, telefono, estado) VALUES (".$_POST['nombre'].", ".$_POST['servicio'].", ".$_POST['email'].", ".$_POST['tel'].", ".$_POST['estado'].")";
$result = mysql_query($sql) or die(mysql_error());

No se realmente por donde comenzar la solucion, cabe mencionar que aparte de esos registros tengo otros como nombre o id:servicio pero con ellos no me da ese problema. ojala puedan ayudarme gracias
  #2 (permalink)  
Antiguo 22/08/2008, 05:23
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: ayuda problema mysql

Comenzá por limpiar de basura la sentencia de SQL.

Esta sección es de base de datos, aquí las cosas se resuelven por SQL no por PHP. Para hacer entendible el problema tienes que sacar del ejemplo todo código que no sea estrictamente SQL, y en todo caso, si el problema surge allí, escribirlo en una forma estructurada que haga fácil comprender la conformación del string que se genera.

Si es de SQL, el problema se mostrará al ver el SQL solo:
Código:
INSERT INTO general (Nombre, id_serv, e_mail, telefono, estado) 
VALUES (nombre,servicio,email, tel, estado);
Así analizada, la consulta no contiene errores de sintaxis, entonces hay que verificar si el string generado por PHP contiene errores.

Cuando te fijas en el mensaje, en el segmento "@gmail.com, 987654321, Estado de México)", se puede percibir que "Estado de Mexico", no se encuentra encerrado entre apóstrofes, como debe ir un string al ser enviado a una tabla.
El problema es que como no estás ingresando parámetros (como en VB.Net, por ejemplo), no puedes poner la variable pelada.
Este segmento: ", ".$_POST['estado'].")"; y todo segmento de código que sea caracteres, como el e-Mail, debe ir: ", '".$_POST['estado']."')";
Notarás los apóstrofes dentro del string ", '"...
Ese es el problema. Deben ir así todos los strings, contengan lo que contengan.

Es probable que si hubieses posteado esto en el foro PHP te hubiesen dado la solución. Si tu consulta involucra lenguajes de programación, por favor, postea en el foro correspondiente.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 22/08/2008, 21:59
 
Fecha de Ingreso: julio-2008
Mensajes: 33
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: ayuda problema mysql

ok gracias por la respuesta realmente ese era el problema y una disculpa por postear donde no es.
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 05:59.