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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  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 2,010 veces)
d91

Desconectado Desconectado

Mensajes: 165


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

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 am »

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
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


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

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 am »

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
La query misteriosa
PHP
XafiloX 3 2,646 Último mensaje 25 Junio 2009, 19:14 pm
por XafiloX
Reg Query
Scripting
Nilrac 4 5,003 Último mensaje 7 Febrero 2010, 05:01 am
por Nilrac
Insertar datos con un update, dentro de otro update con SQLi(Mysql)
Nivel Web
WarGhost 3 5,960 Último mensaje 23 Agosto 2011, 03:37 am
por WarGhost
Java 6 Update 35 y Java 7 Update 7 corrigen graves vulnerabilidades de seguridad
Noticias
wolfbcn 0 2,034 Último mensaje 31 Agosto 2012, 14:17 pm
por wolfbcn
Java 6 Update 37 y Java 7 Update 9 lanzados y nuevamente corrigen varias ....
Noticias
wolfbcn 0 2,018 Último mensaje 18 Octubre 2012, 19:30 pm
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines