我有一个类似于下面的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()获取事务中第三个查询的结果?
您的事务中有五个查询,包括BEGIN
和COMMIT
。
调用prepare()
和execute()
五次,每个查询一次。对于SELECT
查询,检索并检查结果集。
不需要将事务的所有查询放入单个prepare
/execute
周期中。事务的全部目的是允许您运行多个查询,这样对于数据库服务器的其他客户端来说,它们看起来就像一个单一的操作。