投稿者 |
メッセージ |
|
< PHPプログラミング ~ 「'」はデータベースに入力できない? |
|
時間:
火 2月 21, 2006 3:23 pm
|
|
|
登録日: 2006年2月 01日
投稿記事: 21
|
|
HTMLページのフォームの<textarea name="honbun">に入力したデータをMySQLのテーブルに入力したく下記のように記述しました。
$sql="insert into テーブル名 values (0,'$honbun')";
$result=mysql_query($sql);
で、だいたいは入力できるのですが、「'」(アポストロフィーっていうんですかね?)が半角で入力されているとデータベースに入力されなくなってしまいます。なぜなのでしょうか?これを回避できる方法などがございましたら教えてください。よろしくお願いします。 |
|
|
|
|
|
|
|
時間:
火 2月 21, 2006 3:45 pm
|
|
|
|
'は \'のようにエスケープする必要があります。
でないとSQL文がおかしくなってしまいます。 |
|
|
|
|
|
|
|
時間:
金 2月 24, 2006 1:25 pm
|
|
|
登録日: 2006年2月 01日
投稿記事: 21
|
|
あっ、そうか。「'」入れたら途中で文を区切ってしまいますもんね。
これをエスケープする関数とかってないものでしょうか? |
|
|
|
|
|
|
|
時間:
金 2月 24, 2006 3:34 pm
|
|
|
|
ありますよ。
mysql なら mysql_escape_string
pearならquote で。 |
|
|
|
|
|
|
|
時間:
金 2月 24, 2006 4:07 pm
|
|
|
|
|
|
|
|
|
時間:
金 3月 24, 2006 2:41 pm
|
|
|
登録日: 2006年2月 01日
投稿記事: 21
|
|
できました。どうもありがとうございました。
マニュアルではえらい難しいような感じがしたのですが
mysql_real_escape_string()
の()の中にその文字列を入れればよかったんですね。
返事遅くなってしまいましたがほんとにどうもありがとうございました。 |
|
|
|
|
|
|
|