0

为什么,我无法使用包含逗号 (,) 的字符串更新字段(类型:longtext)...

$result=mysql_query("UPDATE table_name SET column1=$a WHERE column2=$b AND column3='price'");

适用于

$a="10"; or $a="10.99";
$b="15";

不适用于

$a="10,99"; 
$b="15";

两者都不适用于:

$a="10,99";
$a=mysql_real_escape_string($a);

我在这里做错了什么?

4

2 回答 2

2

当您的查询字符串使用包含逗号的值进行评估时,这就是查询: "UPDATE table_name SET column1=10,19 WHERE column2=15 AND column3='price'"; 逗号正在产生问题,因为值 10,19 不是字符串。您需要在变量周围加上引号。如果使用双引号,则需要转义引号。单引号也可以;以下任何一项都可以解决问题:

$result=mysql_query("UPDATE table_name SET column1=\"$a\" WHERE column2=\"$b\" AND column3='price'");

或者

$result=mysql_query("UPDATE table_name SET column1='$a' WHERE column2='$b' AND column3='price'");
于 2012-12-04T17:13:18.977 回答
0

更改(您需要用 包装字符串或文本类型的字段'

$result=mysql_query("UPDATE table_name SET column1=$a WHERE column2=$b AND column3='price'");

$result=mysql_query("UPDATE table_name SET column1='$a' WHERE column2='$b' AND column3='price'");
于 2012-12-04T17:13:21.193 回答