經過許多小時的試圖瞭解這個簡單查詢的錯誤之後,有什麼我錯過了?它正確發佈,並且一切正常(例如,它正確更新數據庫),但每次提交時都會顯示以下錯誤:在MySQL語法中無法解決錯誤 - 可行,但顯示錯誤消息
錯誤:您的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);
當然,所有的字段都是varchar?他們都不是INT或類似的?是INT類型的eventID(因此不需要單引號)? – Alfabravo 2012-07-23 20:49:28
謝謝,這是正確的,我已經刪除了單引號。 – 2012-07-23 20:53:19
@Alfabravo:由於自動類型轉換(幾乎適用於每個RDBMS系統),單引號對於INT類型實際上是完全有效的。我同意,雖然這不是很好的做法。 – mellamokb 2012-07-23 21:03:55