经过几个小时试图了解这个简单查询的问题后,我有什么遗漏吗?它发布正确,一切正常(例如,它正确更新了数据库)但每次提交时都显示以下错误:
错误:您的SQL语法出错;检查与MySQL服务器版本对应的手册,以便在第1行的“1”附近使用正确的语法
$eventIDResult = ((int)$_POST["eventIDResult"]);
$eventNameResult = ($_POST["eventNameResult"]);
$eventTextResult = ($_POST["eventTextResult"]);
$eventDateResult = ($_POST["eventDateResult"]);
$eventAgendaResult = ($_POST["eventAgendaResult"]);
$sql = mysql_query("UPDATE events SET eventName='$eventNameResult', eventText='$eventTextResult', eventDate='$eventDateResult', eventAgenda='$eventAgendaResult' WHERE eventID='$eventIDResult'");
if (!mysql_query($sql, $con))
{
die('Error: ' . mysql_error());
}
else
{
header('Location: ../add-remove-event.php');
exit;
}
mysql_close($con);
答案 0 :(得分:4)
您在前一个mysql_query
的结果上调用mysql_query
,这可能会返回受影响的行数(在本例中为1):
$sql = mysql_query(...)
if (!mysql_query(...))
您可能想要做的只是将查询放在一个字符串中:
$sql = "...";
if (!mysql_query($sql, $con))
...
答案 1 :(得分:1)
将评论作为答案移动,以便将来的观众确实知道答案是什么。
确保所有字段都是varchar。 ¿他们都不是INT或类似的吗? ¿是INT类型的eventID(因此,不需要单引号)?