$id
これは、値をデータベース$str
に挿入するために使用するコードです。$name
$r=mysql_query("INSERT INTO varta(id,data,name) VALUES('$id','$str','$name');");
しかし、上記のステートメントの構文エラーが発生します。何故ですか?私の構文は本当に間違っていますか?
検索語の間に空白を追加してみて、入力をエスケープするようにしてください。
$id = mysql_real_escape_string($id);
$str = mysql_real_escape_string($str);
$name = mysql_real_escape_string($name);
$r=mysql_query("INSERT INTO varta (id,data,name) VALUES ('$id','$str','$name');");
入力変数が正しくエスケープされている限り、コードは額面通りに見えます。これを試して、実行中のステートメントを確認してください。
$s = "INSERT INTO varta (id,data,name) VALUES('$id','$str','$name');";
echo $s;
$r = mysql_query($s);
変数に "Daisy O'Donnel" などのアポストロフィが含まれていないことを確認してください (これは、変数を正しくエスケープしていないことを示しています)。