ホームページ >バックエンド開発 >PHPチュートリアル >安全で効率的な検索のために PDO を使用して LIKE クエリを適切に実装するにはどうすればよいですか?

安全で効率的な検索のために PDO を使用して LIKE クエリを適切に実装するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-10 10:29:02499ブラウズ

How to Properly Implement LIKE Queries with PDO for Secure and Efficient Search?

PDO での LIKE クエリの実装

PDO で LIKE クエリを使用する場合は、パラメーターが適切に処理されるようにすることが重要です。提供されたクエリ例:

SELECT * FROM tbl WHERE address LIKE '%?%' OR address LIKE '%?%'

は正しくありません。変数値を含む LIKE 演算子を含めるには、クエリ自体ではなく、$params 配列にパーセント (%) 記号を含める必要があります。正しいコード:

$query = "SELECT * FROM tbl WHERE address LIKE ? OR address LIKE ?";
$params = array("%$var1%", "%$var2%");
$stmt = $handle->prepare($query);
$stmt->execute($params);

$params 配列にパーセント記号を含めることで、それらはプリペアド ステートメント クエリに正しく置換され、いずれかの変数値を含むアドレスが検索されます。

追加メモ:

  • 準備されたステートメントの構文 (疑問符付き) が使用されます。セキュリティのため、また SQL インジェクション攻撃を防ぐために。
  • デバッグ シナリオで生成されたクエリを注意深くチェックし、意図した動作と一致していることを確認することが重要です。

以上が安全で効率的な検索のために PDO を使用して LIKE クエリを適切に実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。