在PDO中删除多行时,如何计算受影响的行数?这是我用来删除多行的技术:
$selected = $_POST['checkbox'];
$N = count($selected);
for ($i = 0; $i < $N; $i++) {
$result = $dbh->prepare('DELETE FROM users WHERE id= :id');
$result->bindParam(':id', $selected[$i], PDO::PARAM_INT);
$result->execute();
}
我试过了,但它总是返回1:
$deleted = $result->rowCount();
if ($deleted) {
echo $deleted.' was deleted.';
}
最佳答案
您正在运行循环,因此每个调用都将删除1;您需要添加一个计数器。
所以补充:
$deleted += $result->rowCount();
圈内
然后在外面:
if ($deleted) {
echo $deleted.' was deleted.';
}
关于php - 获取受多次删除影响的行数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30338594/