为什么我不能用包含逗号(,)的字符串UPDATE字段(类型: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);
我在这里做错了什么?
答案 0 :(得分: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'");
答案 1 :(得分: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'");