1

经过数小时试图了解这个简单查询有什么问题后,我有什么遗漏吗?它正确发布,并且一切正常(例如,它使用变量正确更新数据库)但每次提交时都会显示以下错误:

错误:您的 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);
4

2 回答 2

4

您正在调用mysql_queryprevious 的结果mysql_query,它可能返回受影响的行数(在本例中为 1):

$sql = mysql_query(...)
if (!mysql_query(...))

您可能想要做的只是将查询放在一个字符串中:

$sql = "...";
if (!mysql_query($sql, $con))
...
于 2012-07-23T20:50:10.600 回答
1

将评论作为答案移动,以便将来的观众知道答案是什么。

确保所有字段都是 varchar。¿ 它们都不是 INT 或类似的吗?¿ eventID 是否为 INT 类型(因此不需要单引号)?

于 2012-07-23T20:54:27.547 回答