ホームページ > バックエンド開発 > PHPチュートリアル > PDO でパラメータを指定して LIKE 演算子を使用する方法は?

PDO でパラメータを指定して LIKE 演算子を使用する方法は?

Mary-Kate Olsen
リリース: 2024-11-27 09:26:11
オリジナル
800 人が閲覧しました

How to Use LIKE Operator with Parameters in PDO?

PDO での LIKE クエリの実装

PDO で LIKE 演算子を使用する場合、パラメーターに % 記号を含めることが重要です。クエリ自体の中で。これは、PDO プリペアド ステートメントは値を引用符で囲み、% プレースホルダーと干渉する可能性があるためです。

たとえば、次のクエリについて考えてみましょう。

$query = "SELECT * FROM tbl WHERE address LIKE '%?%' OR address LIKE '%?%'";
$params = array($var1, $var2);
ログイン後にコピー

このクエリが準備されると、%記号は引用符でカプセル化され、次のようなクエリになります。

SELECT * FROM tbl WHERE address LIKE '%"foo"%' OR address LIKE '%"bar"%'
ログイン後にコピー

その結果、二重引用符は LIKE 演算子の意図した機能を妨げるため、クエリは結果を返しません。

この問題を修正するには、代わりにパラメータに % 記号を含める必要があります。

$query = "SELECT * FROM tbl WHERE address LIKE ? OR address LIKE ?";
$params = array("%$var1%", "%$var2%");
ログイン後にコピー

この変更により、準備されたクエリは $var1 または $var2 を含むアドレスを正しく検索するようになります。

以上がPDO でパラメータを指定して LIKE 演算子を使用する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート