Foros del Web » Programando para Internet » PHP »

Error SQL syntax

Estas en el tema de Error SQL syntax en el foro de PHP en Foros del Web. He buscado esto por todos los sitios pero nada de nada... El codigo Código PHP: <?php //recibimos las variables enviadas por el formulario $id = $_POST [ id ]; $titulo = ...
  #1 (permalink)  
Antiguo 27/10/2008, 14:13
Avatar de karlic0s  
Fecha de Ingreso: abril-2007
Ubicación: Cartagena (Murcia)
Mensajes: 241
Antigüedad: 17 años
Puntos: 18
Error SQL syntax

He buscado esto por todos los sitios pero nada de nada...

El codigo

Código PHP:
<?php
//recibimos las variables enviadas por el formulario
$id=$_POST[id];
$titulo=$_POST[titulo];
$autor=$_POST[autor];
$categoria=$_POST[categoria];
$articulo=$_POST[articulo];

$link mysql_connect("localhost""root" "password");
   
mysql_select_db("db",$db); 
   
$sql "UPDATE comentarios SET id='$id', autor='$autor',categoria='$categoria', articulo='$articulo' WHERE id=$id";
   
$result mysql_query($sql);


header("location: index.php");
?>
la tabla dentro de la bd:

comentarios
create table comentarios(
id int(4) not null,
nick varchar(255),
email varchar(255),
comentario blob, key(id))


Y el 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 '$id'','','','')' at line 1

en ','','','' salen las variables de autor, categoria, articulo.


Alguna solucion? nunca me habia dado un error de sql y no se como solucionarlo.



Gracias de antemano!
  #2 (permalink)  
Antiguo 27/10/2008, 14:17
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Respuesta: Error SQL syntax

¿En las comillas salen los datos correctos o no?

¿Puedes hacer un echo de la query antes de realizarla para ver si se ha construido bien?
¿la variable $id contiene algo?
  #3 (permalink)  
Antiguo 27/10/2008, 14:19
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Error SQL syntax

Agregales las comillas a tus variables que recibes por POST:
Código PHP:
$titulo=$_POST['titulo']; 
Tambien al final de tu consulta:
WHERE id=$id
Te faltan las comillas
WHERE id='$id'
Sino pones las comillas MySQL no lo interpreta como un valor, sino como una columna.

EDIT: Tambien tenias un error aqui (corregido):

Código PHP:
$link mysql_connect("localhost""root" "password"); 
mysql_select_db("db",$link); 
  #4 (permalink)  
Antiguo 27/10/2008, 14:20
 
Fecha de Ingreso: octubre-2008
Mensajes: 12
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Error SQL syntax

Prueba con:

$sql = "UPDATE comentarios SET id=".$id.", autor='".$autor."',categoria='".$categoria."', articulo='".$articulo."' WHERE id=".$id;

En el caso de ser campos de tipo texto no se aprecia pero seria ' ".

Espero que te sirva.
  #5 (permalink)  
Antiguo 27/10/2008, 14:22
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Respuesta: Error SQL syntax

cambia esto $_POST[titulo] por esto $_POST['titulo'];, igualmente con los demas

Todo lo que recibes vía post ponlo entre comillas

Saludos!
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
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 08:37.