PDO による文字列のエスケープ
非推奨の mysql ライブラリから PDO への移行において、real_escape_string 関数の適切な置き換えについて疑問に思うかもしれません。 .
に対する PDO のアプローチパラメーター バインディング
PDO は、文字列をエスケープするためのより優れたソリューションを提供し、手動で文字列を操作する必要がなくなります。 PDO は、Prepare メソッドと Execute メソッドを通じてクエリを準備し、自動的にエスケープされる特定のパラメータ値にバインドします。
プリペアド ステートメントの利点
プリペアド ステートメントにはいくつかの機能があります。利点:
プリペアドステートメントの使用例
一重引用符をエスケープするには、 PDO のプリペアド ステートメントについては、次の例を考えてみましょう:
<?php $pdo = new PDO("mysql:host=localhost;dbname=mydatabase", "username", "password"); $statement = $pdo->prepare("INSERT INTO users (name, email) VALUES (?, ?)"); $statement->execute(array("John Doe", "john.doe@example.com")); ?>
ここでは、パラメーター (John Doe および john.doe@example.com) が自動的にエスケープされ、クエリにバインドされ、データの整合性と保護が保証されます。 SQL インジェクション。
以上がPDO は安全な文字列処理のために mysql_real_escape_string をどのように置き換えますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。