ホームページ > データベース > mysql チュートリアル > MySQLi を使用して複数の LIKE クエリ結果を取得する方法

MySQLi を使用して複数の LIKE クエリ結果を取得する方法

DDD
リリース: 2025-01-20 06:11:14
オリジナル
586 人が閲覧しました

How to Retrieve Multiple LIKE Query Results Using MySQLi?

MySQLi と複数の LIKE クエリ結果: 総合ガイド

MySQLi の LIKE 演算子を使用すると、複数の一致する行を取得するときに問題が発生することがよくあります。このガイドでは、そのような問題を回避するための正しいテクニックを説明します。

複数行取得用に最適化されたコード:

次のコード スニペットは、users テーブルから一致するすべてのレコードを効率的に取得し、$data 配列に格納します。

<code class="language-php">$param = "%" . $_POST['user'] . "%";
$stmt = $db->prepare("SELECT id, username FROM users WHERE username LIKE ?");
$stmt->bind_param("s", $param);
$stmt->execute();
$result = $stmt->get_result();
$data = $result->fetch_all(MYSQLI_ASSOC);</code>
ログイン後にコピー

ここで重要なのは、get_result() を活用することです。このメソッドは MySQLi 結果オブジェクトを返し、結果セット全体へのシームレスなアクセスと処理を可能にします。

最新のアプローチ (PHP 8.2 以降):

PHP 8.2 以降のバージョンには、より簡潔なメソッドが存在します。

<code class="language-php">$sql = "SELECT id, username FROM users WHERE username LIKE ?";
$result = $db->execute_query($sql, ["%" . $_POST['user'] . "%"]);
$data = $result->fetch_all(MYSQLI_ASSOC);</code>
ログイン後にコピー

これは execute_query() メソッドを活用し、プロセスを大幅に簡素化します。

従来のフェッチおよびbind_resultメソッド:

効率は劣りますが、fetch()bind_result() を使用する従来のアプローチも引き続きオプションです。

<code class="language-php">$stmt->bind_result($id, $username);
while ($stmt->fetch()) {
  echo "Id: {$id}, Username: {$username}";
}</code>
ログイン後にコピー

これには、各行を個別に繰り返すための while ループが必要であることに注意してください。

重要なリソース:

詳細な情報と詳細については、次のリソースを参照してください。

以上がMySQLi を使用して複数の LIKE クエリ結果を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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