0

私はこのクエリを持っています:

$wd=1.5480;
$query = "UPDATE books SET myprice= myprice + $wd";  

クエリはほぼ 10 回に 1 回失敗します。私が見つけられる明らかなパターンはありません。
更新しようとしている列はフロートです。値は 0 から 9.99999 まで変化します。
クエリのエラーを報告するようにエラー ログを設定し、クエリ自体を表示します
エラー ログに次のエラーが記録されています。

Database Error: You have an error in your SQL syntax; check the manual 
that corresponds to your MySQL server version for the right syntax to use near '=+1' 
at line 1<br/><br/>
Query:UPDATE books SET =+1

ご覧のとおり、クエリに myprice がありません。私は何を間違っていますか?

よろしくお願いします。

4

6 に答える 6

3

これを試してください:

$query = "UPDATE books SET `myprice` = `myprice`+".$wd;
于 2013-05-10T12:18:56.043 に答える
2

これを試して:

$query = "UPDATE `books` SET `myprice` = `myprice` + $wd"; 
于 2013-05-10T12:20:20.210 に答える
-1

不要な var の解釈を避けるために " を ' に置き換え、クエリの構築に sprintf() を使用してください。

$query = sprintf('UPDATE books SET myprice = myprice + %s', $wd);
于 2013-05-10T12:20:32.427 に答える
-2

myprice 変数の前に $ がありませんでした。これが原因である可能性があります

于 2013-05-10T12:18:37.343 に答える