【PHP8.x】addslashes関数の使い方
addslashes関数は、文字列内の特定の文字、具体的にはシングルクォート(')、ダブルクォート(")、バックスラッシュ(\)、そしてNULL文字(\0)の前にバックスラッシュを追加してエスケープを実行する関数です。この関数は、主に文字列をデータベースに挿入する際や、SQLクエリの一部として使用する際に役立ちます。
文字列にこれらの特殊文字が含まれていると、SQLクエリの構文が破壊されたり、意図しない動作を引き起こしたりする可能性があります。例えば、ユーザー入力にシングルクォートが含まれている場合、そのままSQLクエリに組み込むと、クエリが途中で閉じられてしまい、予期せぬエラーや、最悪の場合、セキュリティ上の脆弱性(SQLインジェクション)につながることがあります。addslashes関数は、これらの特殊文字をエスケープすることで、SQL構文として安全に扱えるようにします。
しかし、PHPの現代的な開発では、より堅牢なセキュリティとパフォーマンスのために、データベースへのアクセスにはPDO(PHP Data Objects)のような拡張機能のプリペアドステートメントを使用することが強く推奨されます。プリペアドステートメントは、パラメータを自動的にエスケープするため、addslashes関数を明示的に使用するよりも安全で効率的な方法です。addslashes関数は特定の用途で役立ちますが、データベース操作においては、プリペアドステートメントのようなより高度な対策を優先的に検討してください。
基本的な使い方
構文(syntax)
<?php
$original_string = "My name is O'Reilly and I said \"Hello!\"";
$escaped_string = addslashes($original_string);
echo $escaped_string;
?>
引数(parameters)
string $string
- string $string: エスケープ処理を行う文字列
戻り値(return)
string
指定された文字列にスラッシュ () やシングルクォート (')、ダブルクォート (")、ヌルバイト (\0) が含まれている場合、それらをエスケープした新しい文字列を返します。