簡體   English   中英

PHP MySQL 查詢錯誤

[英]PHP MySQL query error

我的 PHP/SQL 代碼有問題。 我已經嘗試了很多並用谷歌搜索,但我找不到我在代碼中犯了哪個錯誤。

我無法在這里粘貼我的代碼,出了點問題,所以我把它粘貼在這里

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 服務器版本相對應的手冊,以了解要在第 1 行的“-Dinsdag = 'pr' WHERE userid = '1''”附近使用的正確語法您的 SQL 語法有錯誤;檢查對應於的手冊您的 MySQL 服務器版本的正確語法在第 1 行的 '-Dinsdag = 'xd' WHERE userid = '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());

用反引號將查詢中的列名括起來:

$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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM