php - 当同一行中的值等于变量时,如何更新特定列?

标签 php mysql

我已经尝试这样做几个小时了,但我无法完全理解它。我有一个名为“请求”的表,其中包含“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/

相关文章:

php - JS 中的哈希 == PHP 中的哈希

java - 在不使用主键的情况下使用 hibernate 获取数据库记录

mysql - #1067 - 'date' 的默认值无效

SQL - 这种关系可以有一个主键吗?

mysql - 再次谈一下 SQL 日期转换

php - 在 mysql INSERT 之后获取列值(如 id)

php - 为什么有时 php 返回像纯文本 HTTP/1.1 200 OK 这样的 http header ,而它应该只返回 json?

php - 如何从Mysql获取两个特定日期之间的数据

php - 需要密码才能查看网页 [jQuery、JavaScript 或 PHP]

php - 为 MySQL 表存储文本的最佳方式