ホームページ > データベース > mysql チュートリアル > MySQLi LIKE クエリからすべての結果を取得するにはどうすればよいですか?

MySQLi LIKE クエリからすべての結果を取得するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2025-01-20 06:02:09
オリジナル
636 人が閲覧しました

How to Fetch All Results from a MySQLi LIKE Query?

MySQLi LIKE クエリから複数のレコードを取得する

MySQLi の LIKE クエリは複数の結果を生成することがあります。 ただし、標準の fetch() メソッドは最初の行のみを取得します。 このガイドでは、一致するすべてのレコードを取得するいくつかの方法について概説します。

方法 1: get_result() および fetch_all()

これが推奨される方法です。 get_result() は結果セット全体をフェッチし、fetch_all() はそれを連想配列に効率的に変換します。

<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>
ログイン後にコピー

方法 2: fetch() とループを使用した準備済みステートメント

このアプローチでは、bind_result() で準備されたステートメントを利用し、使用可能な行がなくなるまで fetch() を使用して反復します。

<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();

$stmt->bind_result($id, $username);
while ($stmt->fetch()) {
  // Process each row ($id, $username)
}</code>
ログイン後にコピー

方法 3: execute_query() (PHP 8.2 以降)

PHP 8.2 以降の場合、execute_query() は簡潔な代替手段を提供します。

<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>
ログイン後にコピー

役立つリソース:

以上がMySQLi LIKE クエリからすべての結果を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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