En la documentación de MySQL, hay una nota acerca del uso de mysql_affected_rows
después de una confirmación de transacción: http://php.net/manual/en/function.mysql-affected-rows.phpResultado PDOStatement :: rowCount cuando se usa después de PDO :: commit?
Nota: Las transacciones
Si está utilizando transacciones, es necesario llamar a mysql_affected_rows() después su consulta INSERT, UPDATE o DELETE, no después de COMMIT.
Sin embargo, no hay tal nota en la PDOStatement::rowCount
doc: http://www.php.net/manual/en/pdostatement.rowcount.php
¿Significa esto el commit no afectará el recuento de filas afectadas después de INSERT, UPDATE o DELETE cuando se utiliza el objeto PDO
?
después de una confirmación, el significado de 'affected_rows' no está claro. ¿Es el número total de filas afectadas por la transacción ENTERA? ¿O es solo el número de filas realizadas la última operación dentro de la transacción? Si hubieron transacciones anidadas que se retrotraeron, también se contaron las filas afectadas/deshechas, etc ... –
@MarcB El problema es que es 'PDOStatement-> rowCount()' es decir, 'PDO-> rowCount() 'por lo tanto, DEBERÍA contar en filas la última consulta, no la última transacción. – Ozzy
mysql_affected_rows() es otra forma de hacer PDOStatement-> rowCount(). Ambos solo se pueden invocar después de que se realizó un MySQL, porque de lo contrario no se verían afectadas las filas. –