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 配列にパーセント記号を含めることで、それらはプリペアド ステートメント クエリに正しく置換され、いずれかの変数値を含むアドレスが検索されます。
追加メモ:
以上が安全で効率的な検索のために PDO を使用して LIKE クエリを適切に実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。