String 関数
PHP Manual

addslashes

(PHP 4, PHP 5)

addslashes文字列をスラッシュでクォートする

説明

string addslashes ( string $str )

データベースへの問い合わせなどに際してクォートされるべき文字の前に バックスラッシュを挿入した文字列を返します。 クォートされるべき文字とは、シングルクォート('), ダブルクォート("),バックスラッシュ (\) ,NUL (NULL バイト) です。

addslashes() の使用例は、 データベースにデータを登録するときです。例えば、 O'reilly という名前をデータベースに挿入するには、 エスケープする必要があります。各 DBMS 専用のエスケープ関数 (たとえば MySQL なら mysqli_real_escape_string()、 PostgreSQL なら pg_escape_string()) を使うことを強く推奨しますが、もし専用の関数がなく かつその DBMS が \ をエスケープ用文字として使用しているのなら この関数を使用することができます。 これはデータベースにデータを格納する場合のみ必要です。 追加される \ は挿入されません。 PHP のディレクティブ magic_quotes_sybaseon にすると、' はもうひとつの ' でエスケープされます。

PHP ディレクティブ magic_quotes_gpc のデフォルトは、PHP 5.4 より前のバージョンでは on で、 全ての GET、POST、COOKIE データについて基本的に addslashes() を実行していました。 magic_quotes_gpc によってすでにエスケープされた文字列に対して addslashes() を実行しないでください。 さもないと、重複してエスケープされてしまいます。 関数 get_magic_quotes_gpc() はこれを確認するのに役立つかも知れません。

パラメータ

str

エスケープしたい文字列。

返り値

エスケープされた文字列を返します。

例1 addslashes() の例

<?php
$str 
"Is your name O'reilly?";

// 出力: Is your name O\'reilly?
echo addslashes($str);
?>

参考


String 関数
PHP Manual