如何使用PHP PDO函数获取SQL事务中特定查询的结果


How do you obtain the result of a particular query in a SQL transaction using PHP PDO function fetch?

我有一个类似于下面的SQL事务。我无法使用PHP函数PDO::fetch()获得事务中第三次查询的结果

$database = DatabaseFactory::getFactory()->getConnection();
$sql = "BEGIN;
        DELETE FROM users WHERE ID = 4;
        UPDATE audit SET nousers= nousers - 1 WHERE ID = 4;
        SELECT nousers FROM audit WHERE ID = 4;
        COMMIT;";
$query = $database->prepare($sql);
$query->execute();

如何使用$query->fetch()获取事务中第三个查询的结果?

您的事务中有五个查询,包括BEGINCOMMIT

调用prepare()execute()五次,每个查询一次。对于SELECT查询,检索并检查结果集。

不需要将事务的所有查询放入单个prepare/execute周期中。事务的全部目的是允许您运行多个查询,这样对于数据库服务器的其他客户端来说,它们看起来就像一个单一的操作。