elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  query-update
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: query-update  (Leído 1,010 veces)
d91

Desconectado Desconectado

Mensajes: 165


Ver Perfil
query-update
« en: 28 Septiembre 2014, 05:21 »

Hola, como han estado, tengo un problemita al declarar la consulta para realizar un update a una tabla de mysql me da error no se que le hace falta, el error dice... Unable to prepare statement: 1, near "=": syntax error line 12 y esta linea es:
Código
  1. $sql = "UPDATE TB_CLIENTE SET NOMBRE_CLIENTE='".$name."', APELLIDO_CLIENTE='".$apellido."', DIRECCION_CLIENTE='".$direccion."' WHERE ID_CLIENTE='$ident'";
agradecere sus aportes


En línea

gAb1


Desconectado Desconectado

Mensajes: 731


Ver Perfil
Re: query-update
« Respuesta #1 en: 28 Septiembre 2014, 05:44 »

Hola, tal vez este sea el problema:

Código
  1. $sql = "UPDATE TB_CLIENTE SET NOMBRE_CLIENTE='".$name."', APELLIDO_CLIENTE='".$apellido."', DIRECCION_CLIENTE='".$direccion."' WHERE ID_CLIENTE='"$ident"'";
  2.                                                                                                                                                  ^ Aqui

Olvidaste poner las dobles comillas dentro de las comillas normales.

Aunque si $ident es integer no uses comillas (debería serlo ya que seguramente sea auto increment):

Código
  1. WHERE ID_CLIENTE=$ident";

Si no funciona, quita las comillas dobles.

Suerte!


En línea

MinusFour
Colaborador
***
Desconectado Desconectado

Mensajes: 4.933


I'm fourth.


Ver Perfil WWW
Re: query-update
« Respuesta #2 en: 29 Septiembre 2014, 18:38 »

Estás usando sentencias parametrizadas, necesitas hacer un bind al parametro.
En línea

gAb1


Desconectado Desconectado

Mensajes: 731


Ver Perfil
Re: query-update
« Respuesta #3 en: 30 Septiembre 2014, 06:28 »

Exacto, las sentencias preparadas no deberían hacerse asi directamente. Esta es la manera correcta:

(Y no es necesario crear una variable que contenga la sentencia.)

Código
  1. if ($insert_stmt = $mysqli->prepare("UPDATE TB_CLIENTE SET NOMBRE_CLIENTE = ?,
  2. APELLIDO_CLIENTE = ?,
  3. DIRECCION_CLIENTE = ?
  4. WHERE ID_CLIENTE = ?")) {
  5.  
  6. $insert_stmt->bind_param('sssi', $name, $apellido, $direccion, $ident);
  7.  
  8. // Execute the prepared query.
  9. if (! $insert_stmt->execute()) {
  10. //header('Location: /dir/to/error.php?err=Some error message');
  11. //printf("Error: %s.\n", $insert_stmt->error);
  12. }
  13. }

Tambien lo puedes hacer sin el if, los quitas y listo :)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Reg Query
Scripting
Nilrac 4 3,481 Último mensaje 7 Febrero 2010, 05:01
por Nilrac
Insertar datos con un update, dentro de otro update con SQLi(Mysql)
Nivel Web
WarGhost 3 4,498 Último mensaje 23 Agosto 2011, 03:37
por WarGhost
Java 6 Update 35 y Java 7 Update 7 corrigen graves vulnerabilidades de seguridad
Noticias
wolfbcn 0 1,117 Último mensaje 31 Agosto 2012, 14:17
por wolfbcn
Java 6 Update 37 y Java 7 Update 9 lanzados y nuevamente corrigen varias ....
Noticias
wolfbcn 0 1,149 Último mensaje 18 Octubre 2012, 19:30
por wolfbcn
Query en MySQL
Bases de Datos
mark182 2 1,428 Último mensaje 16 Abril 2013, 16:05
por s7evin
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines