更新: 問題が見つかりました.SQL文を画面上ではなくファイルに出力し、SQL文の最後に隠された余分な文字があることに気付きました。一度削除してもクエリは正常に機能しました。 Webからステートメントを切り取って貼り付けることは、それを省略していました。助けてくれてありがとう。 修正済み。PHPでのMySQLエラー(CLIではなく)
私は次のクエリでMySQLから1064のエラーが表示されます。
update `table` set `id` = "152614",
`Field2` = "151",
`Field3` = "11",
`Field4` = "1587",
`Field5` = "Elevator",
`Field6` = "",
`Field7` = "",
`Field8` = "",
`Field9` = "",
`Field10` = "",
`Field11` = "",
`Field12` = "0",
`Field13` = "0",
`Field14` = "0",
`Field15` = "0",
`Field16` = "0",
`Field17` = "0",
`Field18` = "0",
`Field19` = "0",
`Field20` = "0",
`Field21` = "0",
`Field22` = "0",
`Field23` = "0",
`Field24` = "0",
`Field25` = "0",
`Field26` = "0",
`Field27` = "0",
`Field28` = "0",
`Field29` = "0",
`Field30` = "0",
`Field31` = "0",
`Field32` = "0",
`Field33` = "0",
`Field34` = "0",
`Field35` = "0",
`Field36` = "1065353216",
`Field37` = "0",
`Field38` = "0",
`Field39` = "0",
`Field40` = "0",
`Field41` = "0",
`Field42` = "0",
`Field43` = "0" where id ="152614"
MySQLエラー1064:あなたのSQL構文でエラーが発生しています。あなたのMySQLサーバのバージョンに対応するマニュアルをチェックしてください。右の構文は43行目近くにあります。
43行目が最後の行です。
私はmysqlのCLIに貼り付けた場合、それが正常に動作します:
クエリOK、マッチした1影響を受けた行(0.00秒) 行:1の変更:1つの警告:0
を私は「この時点で、損失、任意のアイデアでm?ありがとう。
MySQLのバージョン:5.1.52 PHPバージョン:5.3.3
それは私のスクリプトではかなり深いですが、エラーが発生し一部は次のとおりです。
$result = mysql_query($sql);
if (mysql_errno()) {
echo "MySQL error ".mysql_errno().": ".mysql_error()."\n<br>When executing <br>\n$sql\n<br>";
I出力$ sqlをした場合、上記のクエリのペーストと同じです(上記はエラーラインからのものです)。
あなたはPHPコードを貼り付けてくださいできますか? –
奇妙な。 $ sqlの正確な値は本当ですか?どのように$ SQLクエリを構築していますか? –
$結果行の直前に$ sqlを出力しようとしましたが、これをCLIに貼り付けて同じ結果を得ました(クエリOK ..)。 $ sql。= '''。$ field ['name']。 '' = "' .mysql_real_escape_string($ data)。 ';'; – Rob