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:
$sql = "UPDATE TB_CLIENTE SET NOMBRE_CLIENTE='".$name."', APELLIDO_CLIENTE='".$apellido."', DIRECCION_CLIENTE='".$direccion."' WHERE ID_CLIENTE='$ident'";
agradecere sus aportes
Hola, tal vez este sea el problema:
$sql = "UPDATE TB_CLIENTE SET NOMBRE_CLIENTE='".$name."', APELLIDO_CLIENTE='".$apellido."', DIRECCION_CLIENTE='".$direccion."' WHERE ID_CLIENTE='"$ident"'";
^ 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):
WHERE ID_CLIENTE=$ident";
Si no funciona, quita las comillas dobles.
Suerte!
Estás usando sentencias parametrizadas, necesitas hacer un bind al parametro.
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.)
if ($insert_stmt = $mysqli->prepare("UPDATE TB_CLIENTE SET NOMBRE_CLIENTE = ?,
APELLIDO_CLIENTE = ?,
DIRECCION_CLIENTE = ?
WHERE ID_CLIENTE = ?")) {
$insert_stmt->bind_param('sssi', $name, $apellido, $direccion, $ident);
// Execute the prepared query.
if (! $insert_stmt->execute()) {
//header('Location: /dir/to/error.php?err=Some error message');
//printf("Error: %s.\n", $insert_stmt->error);
}
}
Tambien lo puedes hacer sin el if, los quitas y listo :)