PHP/MYSQL 更新查询不工作

标签 php mysql sql get sql-update

谁能告诉我为什么这个更新查询不起作用?

if ($_GET['update']) {
include 'config.php';
//Connect to MYSQL Database server
$connect = mysql_connect(DB_HOST, DB_USER, DB_PASS) or die("Could not connect to MYSQL Database.");
$result = mysql_select_db(DB_NAME, $connect) or die("Could not connect to MYSQL table.");

mysql_query("UPDATE contact SET read = 1 WHERE id = '$_GET[update]'")or die("Query failed.");
echo "Update works!";
} else {
echo "Update does not work...ughh.";
}

提前谢谢你。

编辑:我得到了查询工作。对于担心安全性的任何人,我使用这个脚本作为测试,看看我是否想使用它。由于脚本有效,我刚刚添加了安全性。谢谢大家的帮助和提示。

最佳答案

什么是列读?

mysql_query("UPDATE contact SET read = 1 WHERE id = '$_GET[update]'")

从 read 的非大写判断,我怀疑您在 MySQL 中为该列使用了保留字。

参见:

Reserved Words in MySQL

要解决这个问题,只需在 read 周围加上单引号。即

mysql_query("UPDATE contact SET 'read' = 1 WHERE id = '$_GET[update]'")

或者根据 j.bruni 更好:

mysql_query("UPDATE contact SET `read` = 1 WHERE id = '$_GET[update]'")

关于PHP/MYSQL 更新查询不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10922490/

相关文章:

php:显示关联数组的每个元素的键和值

PHP:如何在生产中运行采样分析器?

mysql - 将多个查询绑定(bind)到一个结果

mysql - 禁用插入时 innodb_log_file 中的写入,AWS

php - 插入查询不做任何事情

php - 使用php和jquery上传

php - AND 条件(来自数组)

mysql - 如何将多个转储文件导入到 windows 中的 mysql?

mysql - SQL查询丢弃具有多个条目的记录

sql - 获取 SQL 中另一列的每个值的最常见值