(PHP 4, PHP 5)
addslashes — 文字列をスラッシュでクォートする
$str
)
データベースへの問い合わせなどに際してクォートされるべき文字の前に
バックスラッシュを挿入した文字列を返します。
クォートされるべき文字とは、シングルクォート('),
ダブルクォート("),バックスラッシュ
(\) ,NUL (NULL
バイト) です。
addslashes() の使用例は、 データベースにデータを登録するときです。例えば、 O'reilly という名前をデータベースに挿入するには、 エスケープする必要があります。各 DBMS 専用のエスケープ関数 (たとえば MySQL なら mysqli_real_escape_string()、 PostgreSQL なら pg_escape_string()) を使うことを強く推奨しますが、もし専用の関数がなく かつその DBMS が \ をエスケープ用文字として使用しているのなら この関数を使用することができます。 これはデータベースにデータを格納する場合のみ必要です。 追加される \ は挿入されません。 PHP のディレクティブ magic_quotes_sybase を on にすると、' はもうひとつの ' でエスケープされます。
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);
?>