menu
ホーム > PHPサンプル > 文字列系 > PHP 文字列のSQL文中の特殊文字をエスケープしたい
UPDATE:2017年09月19日

PHP 文字列のSQL文中の特殊文字をエスケープしたい

PHPサンプル

PHP5 PHP7

文字列のSQL文中の特殊文字をエスケープ mysqli_real_escape_string()

PHP で文字列や変数を結合する場合は、文字列演算子の「.(ドット)」と「.=(ドットイコール)」の2種類を使用します。
エスケープした文字列 = mysqli_real_escape_string(MySQLの接続変数, 入力文字列);
//返り値は文字列(string)
SQL 文中で使用する文字列の特殊文字をエスケープします。エスケープすることでMySQLで安全に利用できる文字列になります。
以下の特殊文字の前に「 \ (バックスラッシュ)」を負荷します。

NUL (ASCII 0) と \n と \r と \ と ' と " と Control-Z

POINT
mysqli_real_escape_string() を使用する前にMySQLへの接続が確立されている必要があります。確立されていなければエラーが返ります。また、「MySQLの接続変数」の指定がない場合は直近のMySQL接続が使用されます。

注意
mysql_real_escape_string()が推奨です。
PHP 5.5.0 で非推奨となりました。


サンプルコード

実行結果
変換前 文字列のSQL文中の特殊文字をエスケープ「mysqli_real_escape_string()」
' OR ''='

変換後 文字列のSQL文中の特殊文字をエスケープ「mysqli_real_escape_string()」
\' OR \'\'=\'
※「\(バックスラッシュ)」が挿入されてエスケープされます。

– サンプル Click Here ! –


タグ(=記事関連ワード)

日付

投稿日:2012年3月4日
最終更新日:2017年09月19日

関連記事

このカテゴリの他のページ

この記事へのコメント

トラックバックurl

http://wepicks.net/phpsample-string-mres/trackback/

page top