ホームページ > データベース > mysql チュートリアル > PDO で LIKE と bindingParam を正しく使用して、特定の文字で始まるユーザー名を照合する方法

PDO で LIKE と bindingParam を正しく使用して、特定の文字で始まるユーザー名を照合する方法

Patricia Arquette
リリース: 2024-11-14 13:28:02
オリジナル
441 人が閲覧しました

How to Correctly Use LIKE and bindParam in PDO to Match Usernames Starting with a Specific Character?

PDO で LIKE と bindingParam を使用して文字で始まるユーザー名を照合する

PDO で bindingParam を使用したデータベース クエリでは、次のようなシナリオが発生する可能性があります。データの部分一致を検索するには LIKE 演算子を利用する必要があります。具体的には、特定の文字 (この場合は「a」で示されます) で始まるユーザー名を取得したい場合があります。

LIKE と bindingParam を正しく使用してこれを実現するには、bindParam プレースホルダーを内側の一重引用符で囲まないようにします。正しい構文は次のとおりです。

$term = "a%";
ログイン後にコピー

このコードは、a% の代わりにワイルドカード基準として a%' を実行しようとするとエラーを示します。

bindParam はすべての文字列値が確実にSQL ステートメントに渡されるときに適切に引用符で囲まれます。したがって、プレースホルダーを引用符で囲むことは不要であり、不正確なマッチングが行われます。

修正されたクエリは次のようになります。

$term = "a%";

$sql = "SELECT username 
        FROM `user` 
        WHERE username LIKE :term 
        LIMIT 10";      

$stmt = $core->dbh->prepare($sql);
$stmt->bindParam(':term', $term, PDO::PARAM_STR);
$stmt->execute();
$data = $stmt->fetchAll();
ログイン後にコピー

このコードは、で始まるすべてのユーザー名を正常に取得します。 bindParam の使用法内で LIKE 演算子を正しく適用して、文字 'a' を取得します。

以上がPDO で LIKE と bindingParam を正しく使用して、特定の文字で始まるユーザー名を照合する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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