在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/

10-11 08:19