現在の位置: ホーム> 最新記事一覧> fetch_all()を使用して、マルチテーブル結合クエリの結果を取得します

fetch_all()を使用して、マルチテーブル結合クエリの結果を取得します

M66 2025-06-15

PHPでは、データベースクエリの取り扱いは、毎日の開発において非常に一般的なタスクです。複数のテーブルからデータを取得する必要がある場合、通常、マルチテーブルJoin(結合)クエリを使用します。クエリを実行した後、クエリ結果を簡単に取得する方法がキーになります。この記事では、fetch_all()メソッドを使用してマルチテーブル結合クエリの結果を取得し、サンプルコードと併せて説明する方法を紹介します。

1。マルチテーブル接続クエリの紹介

マルチテーブル結合クエリは、複数のテーブルのデータを相関させ、特定の条件に基づいて結果を返すことができます。たとえば、2人のテーブルユーザー注文があります。すべてのユーザーとそれに対応する注文情報を照会し、 Joinを使用できます。

 SELECT users.id, users.name, orders.order_id, orders.amount 
FROM users 
JOIN orders ON users.id = orders.user_id;

2。PHPでmysqliを使用して、マルチテーブル接続クエリを実行する

PHPは、MySQLデータベースを操作するさまざまな方法を提供します。ここでは、MySQLI拡張機能を使用し、 fetch_all()メソッドを使用してすべての結果を取得します。

1.データベース接続を確立します

<?php
$mysqli = new mysqli("m66.net", "username", "password", "database");

if ($mysqli->connect_error) {
    die("接続に失敗しました: " . $mysqli->connect_error);
}
?>

2.マルチテーブル結合クエリを実行します

<?php
$sql = "SELECT users.id, users.name, orders.order_id, orders.amount 
        FROM users 
        JOIN orders ON users.id = orders.user_id";

$result = $mysqli->query($sql);

if (!$result) {
    die("クエリに失敗しました: " . $mysqli->error);
}
?>

3。Fetch_all ()を使用して結果を取得します

fetch_all()は、結果のすべての行が一度に設定され、2次元配列を返します。デフォルトのリターンタイプは、 mysqli_num 、つまりインデックス配列です。また、 mysqli_assocを使用して連想配列を取得することもできます。

 <?php
$data = $result->fetch_all(MYSQLI_ASSOC);

foreach ($data as $row) {
    echo "ユーザーID: " . $row['id'] . ",名前: " . $row['name'] . ",注文ID: " . $row['order_id'] . ",額: " . $row['amount'] . "<br>";
}
?>

4。接続を閉じます

<?php
$mysqli->close();
?>

3。サンプルコードを完了します

<?php
$mysqli = new mysqli("m66.net", "username", "password", "database");

if ($mysqli->connect_error) {
    die("接続に失敗しました: " . $mysqli->connect_error);
}

$sql = "SELECT users.id, users.name, orders.order_id, orders.amount 
        FROM users 
        JOIN orders ON users.id = orders.user_id";

$result = $mysqli->query($sql);

if (!$result) {
    die("クエリに失敗しました: " . $mysqli->error);
}

$data = $result->fetch_all(MYSQLI_ASSOC);

foreach ($data as $row) {
    echo "ユーザーID: " . $row['id'] . ",名前: " . $row['name'] . ",注文ID: " . $row['order_id'] . ",額: " . $row['amount'] . "<br>";
}

$mysqli->close();
?>

4。概要

  • マルチテーブル結合クエリは、関連するデータを取得するための効果的な方法です。

  • MySQLIQuery()を使用してクエリを実行し、 FETCH_ALL()を使用してすべての結果を一度に取得し、データ処理を簡素化します。

  • fetch_all()のパラメーターをmysqli_assocに設定することにより、フィールド名を介してデータに簡単にアクセスできます。

この記事がfetch_all()をよりよく理解し、使用してマルチテーブル結合クエリの結果を取得できることを願っています。