-1

我的 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());
4

1 回答 1

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包含 a -,MySQL 将其解释为运算符,它不适合该位置。

mysql_X方法已弃用。切换到PDOmysqli

于 2012-11-27T16:17:11.307 回答