Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL查询的语法错误_Php_Mysql_Syntax Error - Fatal编程技术网

Php MySQL查询的语法错误

Php MySQL查询的语法错误,php,mysql,syntax-error,Php,Mysql,Syntax Error,我得到下面的错误,我花了几个小时看它,无法找出原因 错误:您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解在第1行的“primary='doej2',secondary='1',其中id='2''附近使用的正确语法 这是我的密码: <?php if (isset($_POST[Edit])){ $id = $_POST['id']; $primary = $_POST['primary']; $secondary = $_POST['secondary']; $que

我得到下面的错误,我花了几个小时看它,无法找出原因

错误:您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解在第1行的“primary='doej2',secondary='1',其中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();
}

}?>
有人能看到我遗漏了什么吗?谢谢

“primary”是MySQL中的保留字。您可以在其周围加上记号以正确使用它(以及其他字段:

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

“primary”是MySQL保留字。从文档中可以看出:


如果按照第8.2节所述引用保留字,则允许保留字作为标识符。“

比语法错误更严重的是

更改此项:

编码恐怖

$id = $_POST['id'];
$primary = $_POST['primary'];
$secondary = $_POST['secondary'];
将其写入此代码

$id = mysql_real_escape_string($_POST['id']);
$primary = mysql_real_escape_string($_POST['primary']);
$secondary = mysql_real_escape_string($_POST['secondary']);

哦,小鲍比·泰尔斯会喜欢你的。加上虱子就行了。我永远也想不到。谢谢!
$id = mysql_real_escape_string($_POST['id']);
$primary = mysql_real_escape_string($_POST['primary']);
$secondary = mysql_real_escape_string($_POST['secondary']);