PDO を使用した LIKE クエリの実装
PDO で LIKE クエリを実装する場合、正しい構文を確保するという課題が発生する可能性があります。この質問は、LIKE を使用して 2 つの変数に基づいてレコードを検索しようとしたときに発生した問題を示しています。
PDO で LIKE クエリを実行するには、パラメータ内に % ワイルドカード文字 を含めることが重要ですクエリ文字列ではありません。正しいコードは次のとおりです:
$query = "SELECT * FROM tbl WHERE address LIKE ? OR address LIKE ?"; $params = array("%$var1%", "%$var2%"); $stmt = $handle->prepare($query); $stmt->execute($params);
前回の試行では、% 文字がクエリ文字列に含まれていたため、不正な形式のクエリが生成されました。準備されたステートメントは、すでに引用符で囲まれた文字列内の値を引用し、誤った結果をもたらします。
パラメータにワイルドカードを含めることにより、クエリが正しく実行され、アドレス列に $var1 のいずれかが含まれるレコードが検索されます。または $var2 (または両方)。
以上が2 つの変数を使用して PDO で LIKE クエリを正しく実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。