es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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();
Tags:  , ,

Answer

  1. Avatar for 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:

    $q1 = "UPDATE server_status SET file_start = ?, gps_start = ? WHERE module_id = " . $this->module_id;
    

    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.

Comments are closed.