Php MySQL查询的语法错误
我得到下面的错误,我花了几个小时看它,无法找出原因 错误:您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解在第1行的“primary='doej2',secondary='1',其中id='2''附近使用的正确语法 这是我的密码: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
<?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']);