php - 删除不适用于 pdo

标签 php mysql pdo sql-delete

尽管我已经通过将其单独放在页面上进行了测试,但以下代码仍无法正常工作。为了在这个查询之后清楚地表明这一点,我正在执行一个选择查询来显示数据库中的所有用户。

$db->query("DELETE FROM Projet_Client WHERE username = '$_GET[d]'");
echo "<div class='alert alert-success text-middle'><strong>Succès</strong>, le 
client a été supprimé.</div>";

这是查询的“回显”,向您展示它的样子:

DELETE FROM Projet_Client 
WHERE 
username = 'a75ea99ce47306ec259d4c905bb9c3f762a531ee'

(我正在使用我的sql)。谢谢。

我更改了代码,它看起来像这样:

    $db->setAttribute(PDO::ATTR_EMULATE_PREPARES,false);
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING );
    try {
        $stmt = $db->prepare('DELETE FROM Projet_Client WHERE username= :username');
        $stmt->bindParam(':username', $_GET['d']); 
        $stmt->execute();

    } catch(Exception $e){
            echo 'Exception -> ';
            var_dump($e->getMessage());
    }

但是没有抛出异常。

问题已解决。我必须使用外键更改约束:ON DELETE = CASCADE

最佳答案

您确定查询正在正确执行吗? 你的询问对我来说看起来没问题。

也许您可以尝试使用以下命令来回显错误(如果有):

if ($conn->query($sql) !== false) {
echo "Record deleted successfully";} else {
echo "Error deleting record: " . $conn->error;

}

关于php - 删除不适用于 pdo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49975225/

相关文章:

php - 在爆炸变量中排序

php - 在使用 PDO 的结果中使用列的值作为索引

PHP PDO |如何将 fetchAll 与 FETCH_LAZY 一起使用?

php - OOP PHP 从类函数输出数据

php - 如何从插入的数据中获取最后一个 ID?

sql - 在 MySQL 中的 HAVING 和 WHERE 子句之间使用 'OR'?

php - 如何从数组中获取行? mysqli

php - Symfony 包继承 - 如何覆盖/扩展服务类

javascript - 页面重定向后保存和使用信息

php - sql中while循环获取不到count值?