即使通过单独在页面上进行测试,以下代码也无法正常工作。为了在查询后立即弄清楚这一点,我正在执行选择查询以显示数据库中的所有用户。

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

10-11 05:03