ホームページ >データベース >mysql チュートリアル >SQL クエリで LIKE 値を PDO に正しくバインドするにはどうすればよいですか?
SQL クエリでは、パターン マッチングの比較に LIKE 演算子が使用されます。 PDO 拡張機能を使用してクエリを実行する場合、あいまいな結果を避けるために LIKE 値を正しくバインドすることが重要です。
一般的なシナリオの 1 つは、
select wrd from tablename WHERE wrd LIKE '$partial%'PDO を使用してこれをバインドするには、単に $partial% を名前付きパラメータに置き換えるのが間違ったアプローチです。例:
select wrd from tablename WHERE wrd LIKE ':partial%'PDO は % をワイルドカード文字として解釈しないため、これは機能せず、誤った結果が得られます。代わりに、目的の動作を実現するためのオプションがいくつかあります。
$stmt = $db->prepare("SELECT wrd FROM tablename WHERE wrd LIKE :partial"); $escapedPartial = $db->quote($partial . '%'); $stmt->bindParam(':partial', $escapedPartial);
SELECT wrd FROM tablename WHERE wrd LIKE CONCAT(:partial, '%')
以上がSQL クエリで LIKE 値を PDO に正しくバインドするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。