我已经尝试这样做几个小时了,但我无法完全理解它。我有一个名为“请求”的表,其中包含“deletekey”和“已删除”列。 “deletekey”是一个随机唯一数字(数据类型文本),“deleted”默认设置为0(数据类型 bool ),当用户输入deletekey时,“deleted”将更改为1。 但我无法让它发挥作用。 这是我的代码,我不知道我做错了什么:
$key = $_GET["delkey"];
$link = mysqli_connect("localhost","username","password","dbname");
$query = 'UPDATE requests SET deleted = True WHERE deletekey = "$key"';
$result = $link->query($query);
最佳答案
这应该会有所帮助,并且还将提供针对 SQL 注入(inject)的保护:
$link = mysqli_connect("localhost","username","password","dbname");
$key = $link->real_escape_string($_GET["delkey"]);
$query = sprintf("UPDATE requests SET deleted = 1 WHERE deletekey = '%s'", $key);
$result = $link->query($query);
关于php - 当同一行中的值等于变量时,如何更新特定列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19413262/