php - MySQL 查询的语法错误

标签 php mysql syntax-error

我收到以下错误,我花了几个小时查看它,但无法弄清楚原因!

错误:您的 SQL 语法有误;查看与您的 MySQL 服务器版本对应的手册,了解在第 1 行的 'primary='doej2', secondary='1' WHERE id='2'' 附近使用的正确语法

这是我的代码:

<?php
if (isset($_POST[Edit])){

$id = $_POST['id'];
$primary = $_POST['primary'];
$secondary = $_POST['secondary'];

$query = mysql_query("UPDATE eventcal SET primary='$primary', secondary='$secondary' WHERE id='$id'");

if (!$query) {
  $_SESSION['alert'] = 'ERROR: ' . mysql_error();
}

}?>

这是我的 eventcal 表的表结构:

 CREATE TABLE `eventcal` (
 `id` int(10) unsigned NOT NULL auto_increment,
 `region` tinyint(3) unsigned NOT NULL,
 `primary` varchar(25) NOT NULL,
 `secondary` tinyint(1) NOT NULL,
 `eventDate` date NOT NULL,
 PRIMARY KEY  (`id`),
 KEY `primary_2` (`primary`),
 KEY `secondary` (`secondary`),
 CONSTRAINT `eventcal_ibfk_1` FOREIGN KEY (`primary`) REFERENCES `users` (`username`) ON UPDATE CASCADE
 ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8

任何人都可以看到我错过了什么吗?谢谢!

最佳答案

"primary"是 MySQL 中的保留字。您可以在它周围打勾以正确使用它(以及其他字段:

$query = mysql_query("UPDATE `eventcal` SET `primary`='$primary', `secondary`='$secondary' WHERE `id`='$id'");

关于php - MySQL 查询的语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1128613/

相关文章:

mysql - 在条件语句中使用默认值时出错

c# - 在C#中写行错误

php - CodeIgniter PHP - 如何在使用 "select *"时选择要在连接中选择的 ID

php - 如何使用 PHP MySQL 更新日期时间字段?

MySQL比较查询长文本列

mysql - 如何将选择与其自身结合起来?

python - python UPDATE 命令中的 0L 或 1L 错误

PHP如何显示用户数据

php - 单击触发单选按钮没有响应

php - 语言的多列与一列中的序列化数组