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