La declaración de actualización de PHP PDO devuelve true pero no actualiza la base de datos.
Tengo dos declaraciones de actualización en mi consulta, pero solo una funciona. Intenté comentar la primera que funciona para probar la segunda. Cuando hago dd
, devuelve verdadero pero la tabla no se actualiza. ¿Alguien puede decirme qué debo hacer? Gracias.
Aquí están las consultas:
$q = "UPDATE data_file SET
file_name=?,file_size=?
WHERE module_id=".$this->module_id;
$date = date('Y-m-d H:i:s');
$updateStmt = $this->conn->prepare($q);
$updateStmt->execute([
$this->file_name,
$this->file_size,
]);
//this query returns true but not updating the database
$q1 = "UPDATE server_status SET file_start = ? AND gps_start = ? WHERE module_id = ".$this->module_id;
$updateStmnt2 = $this->conn->prepare($q1);
$stat = $updateStmnt2->execute([
1,
$date
]);
//query 2 end
Responses::http_ok();
davy.ai
Parece que la segunda instrucción de actualización contiene un error de sintaxis. En lugar de usar “AND” entre “file_start” y “gps_start”, debería usarse una coma para separar las dos columnas.
Por lo tanto, la consulta corregida sería:
Después de corregir la sintaxis, la segunda instrucción de actualización debería poder actualizar la base de datos según se espera.