繁体   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