我的PHP/SQL代碼有問題。我嘗試了很多並使用Google搜索,但無法找到代碼所犯的錯誤。PHP MySQL查詢錯誤
我不能粘貼在這裏我的代碼,出事了,所以我貼在這裏
$absentbijwerken = mysql_query("UPDATE hw_absentieregistratie SET '$currentweekandday' = '$aanwezigheid[$i]' WHERE userid = '$userid[$i]'")
or die(mysql_error());
$absentredenbijwerken = mysql_query("UPDATE hw_absentiereden SET '$currentweekandday' = '$reden[$i]' WHERE userid = '$userid[$i]'")
or die(mysql_error());
兩個查詢得到一個錯誤。
MySQL錯誤1064:您的SQL語法錯誤;檢查 手冊對應於您的MySQL服務器版本的右邊 語法使用附近'-Dinsdag ='pr'WHERE userid ='1''第1行「您的 在您的SQL語法中有一個錯誤;檢查手冊對應於 你的MySQL服務器版本使用附近的「-Dinsdag = ‘XD’其中userid =‘1的行’」 1
編輯正確的語法:
的報價是問題,新代碼如下所示:
for ($i = 0; $i < count($userid); $i++){
$absentbijwerken = mysql_query("UPDATE hw_absentieregistratie SET `$currentweekandday` = '$aanwezigheid[$i]' WHERE userid = '$userid[$i]'")
or die(mysql_error());
$absentredenbijwerken = mysql_query("UPDATE hw_absentiereden SET `$currentweekandday` = '$reden[$i]' WHERE userid = '$userid[$i]'")
or die(mysql_error());
'$ currentweekandday'用作列名。如果它包含特殊字符(至少具有「-')」,則必須將其放在反引號中。 'SET \'$ currentweekeandday \'= ...' –
不要像這樣建立SQL。即使缺少像你所看到的那樣的錯誤,這也是SQL注入的一個肯定的祕訣。 – geoffspear
發送變量作爲列名時要小心。根據可能的可接受值列表進行檢查。 –