php
  • mysql
  • 2012-11-27 75 views -1 likes 
    -1

    我的PHP/SQL代碼有問題。我嘗試了很多並使用Google搜索,但無法找到代碼所犯的錯誤。PHP MySQL查詢錯誤

    我不能粘貼在這裏我的代碼,出事了,所以我貼在這裏

    http://pastebin.com/P1Mur3Gv

    $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()); 
    
    +0

    '$ currentweekandday'用作列名。如果它包含特殊字符(至少具有「-')」,則必須將其放在反引號中。 'SET \'$ currentweekeandday \'= ...' –

    +3

    不要像這樣建立SQL。即使缺少像你所看到的那樣的錯誤,這也是SQL注入的一個肯定的祕訣。 – geoffspear

    +0

    發送變量作爲列名時要小心。根據可能的可接受值列表進行檢查。 –

    回答

    0

    與反引號括在查詢中的列名:

    $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傳遞的值包含-,其解釋的MySQL作爲一個經營者,不適合在那個地方。

    mysql_X方法已棄用。切換到PDOmysqli

    +0

    錯誤已更改 您在SQL語法中有錯誤;請檢查與您的MySQL服務器版本對應的手冊,以便在第1行''w48-Dinsdag'='pr'WHERE userid ='1'附近使用正確的語法。 – user1857116

    +2

    @ user1857116您使用了錯誤的引號。反引號,而不是單引號。你能看到上面的帖子的區別嗎? –

    +0

    爲什麼這是低調? – Kermit

    相關問題