0

我有这个查询:

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

查询失败几乎十分之一。我没有发现明显的模式。
我尝试更新的列是一个浮点数。该值从 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

你能试试这个:

$query = "UPDATE `books` SET `myprice` = `myprice` + $wd"; 
于 2013-05-10T12:22:48.757 回答
0

尝试这个,

  $wd=1.5480;

  $query = "UPDATE books SET `myprice` = `myprice` + {$wd}";
于 2013-05-10T12:35:20.050 回答
-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 回答