-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サーバーのバージョンに対応するマニュアルで'-Dinsdag='pr'の近くで使用する正しい構文を確認してください。WHEREuserid='1''1行目"SQL構文にエラーがあります。対応するマニュアルを確認してください。 '-Dinsdag='xd'の近くで使用する正しい構文のMySQLサーバーのバージョンWHEREuserid='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());
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());

に渡された値には、MySQLが演算子として解釈$currentweekanddayするが含まれている-ようですが、その場所には収まりません。

mysql_Xメソッドは非推奨になりました。PDOまたはmysqliに切り替えてください!

于 2012-11-27T16:17:11.307 に答える