php - 删除查询受影响的行返回大于 0 的数据或者数据库中没有记录

标签 php mysql

这是一段代码

    public static function delete_ques($ques_id) {
        $con = Connection::get_Connection();
        $sql_delete = "DELETE FROM question WHERE ques_id = " . $ques_id;
        $result_delete = $con->query($sql_delete);
        if ($result_delete->rowCount()) {
            $con->close();
            echo 'hell not ';
            return true;
        } else {
            $con->close();
            echo 'hell yes';
            return false;
        }
    }

我不明白为什么会发生

最佳答案

您面临的问题是由于rowCount()。根据 php.net

rowCount() returns the number of rows affected by the last DELETE, INSERT, or UPDATE statement executed by the corresponding PDOStatement object.

在你的情况下我会使用affected_rows。所以你的 if-else 代码块会像这样

if ($con->affected_rows) {
        $con->close();
        echo 'hell not ';
        return true;
} else {
        $con->close();
        echo 'hell yes';
        return false;
}

关于php - 删除查询受影响的行返回大于 0 的数据或者数据库中没有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41653952/

相关文章:

C# 更新 mySQLDateTime 数据表

PHP - Laravel - 直接从 Eloquent 获取平均值,而不必循环结果

php - Codeigniter 2 的自定义表单验证错误消息

php - 如何使用php将Google搜索结果显示在网站上?

php - 无法使用逗号将复选框值插入mysql数据库

mysql - 从同一列php中的许多相同值中获取一个值

php - Doctrine_RawSql 自定义选择

php - 为什么记录没有出现在数据库中

php - 更改在 Woocommerce 中注册时显示的隐私政策文本

php - 将数据发布到表: all data in table shows as 1