LIKE ステートメントを使用した PDO パラメーター化クエリの作成
大文字と小文字を区別しない一致のために LIKE ステートメントを使用して PDO パラメーター化クエリを作成する場合、プレースホルダーの構文と実行方法は、提供されている例と異なる場合があります。
最初の試行では、WHERE 句のプレースホルダーは引用符で囲まれた「?%」として指定されます。ただし、柔軟なマッチングを可能にするためには、単純に「?」に変更する必要があります。
さらに、execute() メソッドで提供される値も調整する必要があります。末尾にワイルドカードを付けた固定値 (「value%」) を渡す代わりに、ワイルドカード接尾辞付きの値 (「value%」) を使用する必要があります。
LIKE ステートメントを使用したこの PDO パラメーター化クエリの正しい構文は次のとおりです。
$query = $database->prepare('SELECT * FROM table WHERE column LIKE ?'); $query->execute(array('value%')); while ($results = $query->fetch()) { echo $results['column']; }
この変更されたクエリを使用すると、指定された列で大文字と小文字を区別しないパターン マッチングを正常に実行できます。
以上が大文字と小文字を区別しない検索のために LIKE ステートメントを含む PDO パラメーター化クエリを正しく使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。