sql >> Base de Datos >  >> RDS >> Mysql

Con PDO, ¿cómo puedo asegurarme de que una declaración de ACTUALIZACIÓN fue exitosa?

Depende de lo que entiendas por "exitoso". Si quiere decir que la consulta se ejecutó sin fallar, entonces PDO lanzará una excepción en caso de falla o devolverá FALSE desde PDOStatement::execute() , según el modo de error que haya configurado, por lo que una consulta "correcta" en ese caso sería solo una en la que el método de ejecución no devolvió FALSE o lanzar una excepción.

Si quiere decir "exitoso" en el sentido de que en realidad hubo filas actualizadas (en lugar de solo 0 filas actualizadas), entonces deberá verificar eso usando PDOStatement::rowCount() , que le indicará el número de filas afectadas de la consulta anterior.

Advertencia:para actualizaciones donde newvalue = oldvalue PDOStatement::rowCount() devuelve cero. Puedes usar

para deshabilitar este comportamiento inesperado.