在MySql中,如何在同时执行多个查询时获取所有受影响的行的计数?在MySql中执行多条语句时获取所有受影响行的数量
我现在这样做:
$stmt = '
update prodb set buyer = buyer+1 where userId = 1;
update prodb set seller = seller+1 where userId = 2;
';
$update = $dbc->prepare($stmt);
$update->execute();
$queryCount = $update->rowCount();
echo 'This is QueryCount '.$queryCount;
但是,即使有受到影响2行,我得到$queryCount
仅1
。有没有办法让查询计数为2
。即第一个陈述的次数和第二个陈述的次数?我可以确认这里有两行受到影响。
我正在使用MySql PDO完成所有这些工作。
你不能。 'rowCount()'只能得到你执行的** LAST **查询的结果。如果您执行两个查询,那么这些查询中的哪一个将成为rowCount()报告中的一个。 rowCount()实质上只是调用'mysql_affected_rows()'api函数。 – 2014-10-02 16:15:06
有人说过关于推进光标的事情......你会知道那是什么吗? – jmenezes 2014-10-02 16:17:55
你没有使用游标。它们只能在存储过程中使用。 – 2014-10-02 16:20:05