0

カンマ (,) を含む文字列でフィールド (type:longtext) を UPDATE できないのはなぜですか...

$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 に答える