MySQL PDO クエリで BindParam で LIKE を正しく使用する方法は?

Susan Sarandon
リリース: 2024-11-08 22:10:02
オリジナル
944 人が閲覧しました

How to Correctly Use LIKE with BindParam in MySQL PDO Queries?

MySQL PDO クエリで BindParam を使用した LIKE を適切に使用する

MySQL PDO クエリでbindParam を使用して LIKE 検索を実行しようとする場合、正確さを保証するための正しい構文

最適化された構文

bindParam を使用して「a」で始まるユーザー名を照合するには、正しい構文は次のとおりです。

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

対照的に、元の質問で提供された構文「$term = "'$term%'」は、不要な内部変数が配置されているため、正しくありません。 $term 値を一重引用符で囲みます。これにより、a% ではなく 'a%' が検索されます。

bindParam の役割

bindParam は、文字列を自動的に引用符で囲みます。したがって、一重引用符を手動で追加する必要はなく、誤った結果が生じる可能性があります。

改訂されたコード

最適化された構文を使用すると、改訂されたコードは次のようになります:

$term = "a%";

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

$core = Connect::getInstance();

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

以上がMySQL PDO クエリで BindParam で LIKE を正しく使用する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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