ホームページ >データベース >mysql チュートリアル >MySQL LIKE クエリで PHP PDO プリペアド ステートメントを正しく使用する方法

MySQL LIKE クエリで PHP PDO プリペアド ステートメントを正しく使用する方法

Susan Sarandon
Susan Sarandonオリジナル
2024-12-20 01:53:13228ブラウズ

How to Correctly Use PHP PDO Prepared Statements with MySQL LIKE Queries?

MySQL LIKE クエリを使用した PHP PDO プリペアド ステートメント

PHP で PDO を使用して LIKE 条件を使用してデータをクエリする場合、正しい条件を理解することが重要です検索語の扱い。報告された問題の解決策は次のとおりです:

ステートメントを準備するときに、最初のコードは検索語に誤って二重引用符を追加しました:

$ret = $prep->execute(array(':searchTerm' => '"%'.$searchTerm.'%"'));

この余分な引用符は不要です。準備されたステートメントはデータをクエリから分離するため、引用符を埋め込むべきではありません。

さらに、コードは、検索語の前後にパーセント記号を追加せずに、WHERE hs.hs_text LIKE ":searchTerm" を誤って使用しました。

問題を修正するには、修正されたコードでステートメントを次のように実行する必要があります。

$prep = $dbh->prepare($sql);
$ret = $prep->execute(array(':searchTerm' => '%'.$searchTerm.'%'));

説明:

プリペアド ステートメントはクエリとは別にデータを転送するため、値はクエリ文字列に直接置換されません。引用符はクエリ内に値を埋め込む場合にのみ必要ですが、ここでは当てはまりません。

正しい構文を使用することで、PDO 準備済みステートメントは、指定された検索語で LIKE 条件を使用して効率的にデータを検索できます。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。