Foros del Web » Programando para Internet » PHP »

Error sintaxis update

Estas en el tema de Error sintaxis update en el foro de PHP en Foros del Web. Tengo un error de sintaxis en el siguiente código, por más que miro no lo encuentro, me esta volviendo loco: Código PHP: $consulta = " update contacto set nombre ='" ...
  #1 (permalink)  
Antiguo 27/07/2009, 11:39
 
Fecha de Ingreso: febrero-2008
Ubicación: Madrid
Mensajes: 474
Antigüedad: 16 años, 2 meses
Puntos: 1
Exclamación Error sintaxis update

Tengo un error de sintaxis en el siguiente código, por más que miro no lo encuentro, me esta volviendo loco:

Código PHP:
$consulta=" update contacto set nombre ='".$_POST['nombre']."',
                                        apellido1='"
.$_POST['apellido1']."',
                                        apellido2='"
.$_POST['apellido2']."',
                                        sobrenombre='"
.$_POST['sobrenombre']."',
                                        fechaNacimiento="
."'".$_POST['anio']."-".$_POST['mes']."-".$_POST['dia']."',
                                        sexo='"
.$_POST['sexo']."',
                                        direccion='"
.$_POST['direccion']."',
                                        mapaDireccion='"
.$_POST['mapaDireccion']."',
                                           ciudad='"
.$_POST['ciudad']."',
                                        provincia='"
.$_POST['provincia']."',
                                        pais='"
.$_POST['pais']."',
                                        codigoPostal='"
.$_POST['codigoPostal']."',
                                        paginaWeb='"
.$_POST['paginaWeb']."',
                                        telefono='"
.$_POST['telefono']."',
                                        fax='"
.$_POST['fax']."',
                                        movil='"
.$_POST['movil']."',
                                        correo='"
.$_POST['correo']."',
                                        telefonoTrabajo='"
.$_POST['telefonoTrabajo']."',
                                        faxTrabajo='"
.$_POST['faxTrabajo']."',
                                        movilTrabajo='"
.$_POST['movilTrabajo']."',
                                        direccionTrabajo='"
.$_POST['direccionTrabajo']."',
                                        telefono='"
.$_POST['telefono']."',
                                        empresa='"
.$_POST['empresa']."',
                                        mapaTrabajo='"
.$_POST['mapaTrabajo']."',
                                        correoTrabajo='"
.$_POST['correoTrabajo']."',
                                        contactoDe='"
.$_POST['contactoDe']."',
                                        comentario='"
.$_POST['comentario']."',
                                        contactoDe='"
.$_POST['contactoDe']."',
                                        tipoContacto='"
.$_POST['tipoContacto']."',
                                        where numeroContacto = '"
$_POST['numeroContacto']."';";                            
                                echo 
$consulta;            
        
$resultado=mysql_query($consulta);
        return 
$resultado;
    } 
Mysql dice lo siguiente: #1064 - 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 'where numeroContacto = '5'' at line 1

Muchas gracias.
  #2 (permalink)  
Antiguo 27/07/2009, 11:44
 
Fecha de Ingreso: enero-2009
Mensajes: 408
Antigüedad: 15 años, 3 meses
Puntos: 14
Respuesta: Error sintaxis update

Hola , sinceramente no veo nada raro , solo el ; final que tienes a lo ultimo de todo saca eso y prueba de nuevo.

Saludos
  #3 (permalink)  
Antiguo 27/07/2009, 11:47
 
Fecha de Ingreso: febrero-2008
Ubicación: Madrid
Mensajes: 474
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Error sintaxis update

Sin ; da errores de todas formas.

Si hago un echo "$consulta"; sale lo siguiente (el valor de los campos son de prueba):

update contacto set nombre ='nombre', apellido1='apellido1', apellido2='apellido2', sobrenombre='sobrenombre', fechaNacimiento='1900-1-1', sexo='Hombre', direccion='Direccion', mapaDireccion='mapa', ciudad='ciudad', provincia='provincia', pais='pais', codigoPostal='cp', paginaWeb='paginaweb', telefono='telefono', fax='fax', movil='movil', correo='correo', telefonoTrabajo='telefonoTrabajo', faxTrabajo='faxTrabajo', movilTrabajo='movilTrabajo', direccionTrabajo='direccionTrabajo', telefono='telefono', empresa='empresa', mapaTrabajo='mapaTrabajo', correoTrabajo='correoTrabajo', contactoDe='contactoDe', comentario='comentario', contactoDe='contactoDe', tipoContacto='tipoContacto', where numeroContacto = '5'
  #4 (permalink)  
Antiguo 27/07/2009, 11:52
 
Fecha de Ingreso: enero-2009
Mensajes: 408
Antigüedad: 15 años, 3 meses
Puntos: 14
Respuesta: Error sintaxis update

Te fijaste que todos los datos que pasas en esa consulta sql sean del tipo que admiten los campos a los cuales vas a actualizar? a veces suele suceder esos problemitas de confusión entre campo y tipo de dato.

Por otro lado entra desde phpmyadmin y prueba esa misma consulta que me mostraste en la ventana sql y verifica si desde ahi te la ejecuta ya que no hay nada raro debido a que esta bien la sintaxis de la consulta de actualización es decir:

update tabla set campo='valor' where campo='valor' , y tu lo tienes de igual modo asi que no deberia generar ningun problema.

Saludos
  #5 (permalink)  
Antiguo 27/07/2009, 12:01
 
Fecha de Ingreso: febrero-2008
Ubicación: Madrid
Mensajes: 474
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Error sintaxis update

Si copio la consulta tal cual se muestra y la pego en sql de phpmyadmin me dice lo siguiente:

#1064 - 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 'where numeroContacto = 5' at line 1

Todos los campos son strings salvo fechanacimiento que es de tipo date y numeroContacto que es entero.

He quitado las comillas a los enteros por si acaso, pero sigue dando error.
  #6 (permalink)  
Antiguo 27/07/2009, 12:05
 
Fecha de Ingreso: febrero-2008
Ubicación: Madrid
Mensajes: 474
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Error sintaxis update

vale, lo que falla es la condición:

where numeroContacto = 5

porque si la quito funciona correctamente, no entiendo nada...
  #7 (permalink)  
Antiguo 27/07/2009, 12:10
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 sintaxis update

Pones una COMA antes del WHERE. Eliminala y funcionara perfectamente.
  #8 (permalink)  
Antiguo 27/07/2009, 12:14
 
Fecha de Ingreso: febrero-2008
Ubicación: Madrid
Mensajes: 474
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Error sintaxis update

Listo, ya he visto el fallo, son de esos tontos tontos pero que a uno le cuesta encontrarlo:

...
contactoDe='".$_POST['contactoDe']."',
tipoContacto='".$_POST['tipoContacto']."',
where numeroContacto = '". $_POST['numeroContacto']."';";

La puta coma antes del where sobra!!!!!!!!!!!!!!!!!!!!!
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 10:35.