アクセスカウンタ
読者登録
メールアドレスを入力して登録する事で、このブログの新着エントリーをメールでお届けいたします。解除は→こちら
現在の読者数 0人
プロフィール
月読☆彡
オーナーへメッセージ
QRコード
QRCODE

2007年08月07日

addslashesによるエスケープ処理

PHP+MySQLで簡易掲示板を作っている際にフォームのコメント部分をaddslashesでエスケープしていたが、英数字を書き込んだ際に'(シングルクオート)などが使われていると\にて再度エスケープされてしまった。英数字だけかと思っていると日本語を入力した場合も突然エスケープされる時があった。困っているとこんな記事を発見。

『addslashesによるエスケープ処理はやめましょう』

mysql_real_escape_string()やpg_escape_string()等のデータベース専用のエスケープ関数を使えとある。
ちなみにSQLiteを使っている場合はaddslashesでエスケープ処理はNG。SQLiteではMS SQL Server, Sybaseと同様「'」は「''」とシングルクオートでエスケープする。

そこでaddslashesからpg_escape_string()に書き換えた所、今までエスケープ処理がうまくいかなかった英数字も問題なく書き込みできるようになった。

【参考URL】
yohgaki's blog

同じカテゴリー(MySQL)の記事
 トータル件数取得 (2007-08-07 13:33)
 日付の比較 (2007-06-23 12:38)
 フィールドタイプの説明 (2007-03-30 13:42)
Posted by 月読☆彡 at 13:19│Comments(0)MySQL
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。