ホームページ > データベース > mysql チュートリアル > MySQL PDO クエリで安全なユーザー名検索のために、bindParam で LIKE を利用する方法は?

MySQL PDO クエリで安全なユーザー名検索のために、bindParam で LIKE を利用する方法は?

Barbara Streisand
リリース: 2024-11-09 15:51:02
オリジナル
837 人が閲覧しました

How to Utilize LIKE with bindParam for Secure Username Search in MySQL PDO Queries?

MySQL PDO クエリにbindParam を使用した LIKE の利用

ユーザー名検索に BindParam と LIKE を使用する

MySQL クエリと PDO ライブラリを使用する場合、これは非常に重要ですLIKE 演算子を効果的に活用します。文字「a」で始まるユーザー名を検索する必要があるシナリオを考えてみましょう。

正しい実装

「a」で始まるユーザー名を正しく照合するには、次のコードで十分です。

$term = "a";
$term .= "%"; // Adding the wildcard character

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

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

エラー分析

提供されたコードは $term を誤って一重引用符で囲んでいるため、不正なクエリが発生します。内側の一重引用符を削除し、ワイルドカード文字「%」を正しく追加すると、LIKE 演算子は「a」で始まるユーザー名と一致します。

PDO セキュリティと引用符

PDO は、 bindParam の実行中にすべての文字列データを自動的に引用符で囲みます。これにより、特殊文字が適切に処理され、SQL インジェクションの脆弱性が防止されます。

以上がMySQL PDO クエリで安全なユーザー名検索のために、bindParam で LIKE を利用する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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