ホームページ  >  記事  >  バックエンド開発  >  PHP を使用してデータベースにクエリを実行し、結果を 2D 配列として保存する方法

PHP を使用してデータベースにクエリを実行し、結果を 2D 配列として保存する方法

PHPz
PHPzオリジナル
2023-04-27 09:05:12699ブラウズ

PHP では通常、SQL ステートメントを使用してデータベース内のデータをクエリします。結果は多くの場合 2 次元配列、つまり複数のレコードを含む配列になります。この記事では、PHP 言語を使用してデータベースにクエリを実行し、結果を 2 次元配列として保存する方法を紹介します。

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

データベースにクエリを実行する前に、まずデータベース接続を確立する必要があります。これは、PHP の組み込み mysqli または PDO 拡張機能を使用して簡単に実現できます。以下は、mysqli 拡張機能を使用して接続を確立するためのサンプル コードです:

// 连接数据库
$host = 'localhost';
$user = 'root';
$password = '';
$dbname = 'test';
$conn = new mysqli($host, $user, $password, $dbname);
// 检查连接是否成功
if ($conn->connect_errno) {
    die('连接失败: ' . $conn->connect_error);
}

2. SQL クエリ ステートメントの実行

データベース接続が完了したら、SQL クエリ ステートメントを実行してデータを取得する必要があります。クエリ ステートメントには、任意の正当な SQL ステートメントを使用できます。たとえば、データベースから特定のフィールドの値を取得するために SELECT ステートメントを使用できます。以下は例です:

//执行查询并存储结果
$sql = "SELECT id, name, age FROM users";
$result = $conn->query($sql);
//检查结果是否为空
if ($result->num_rows > 0) {
    // 存储结果为二维数组
    $data = array();
    while ($row = $result->fetch_assoc()) {
        $data[] = $row;
    }
}

上記のコードでは、mysqli 拡張クエリ メソッドを使用して SQL クエリ ステートメントを実行します。クエリが成功した後、num_rows メソッドを使用して結果が空かどうかを確認します。 。結果が空でない場合は、 fetch_assoc メソッドを使用してデータの各行を連想配列に保存し、その配列を $data 配列に追加します。最終的に、すべてのデータが $data 配列に保存されます。これまでのところ、クエリ結果を 2 次元配列に保存することに成功しました。

3. クエリ結果を使用する

クエリ結果が 2 次元配列として保存されると、PHP 言語を使用してそれを操作できます。たとえば、配列をループすることで各レコードを出力できます。

// 遍历数组并输出每条记录
foreach ($data as $row) {
    echo $row['id'] . "\t" . $row['name'] . "\t" . $row['age'] . "\n";
}

上記のコードでは、foreach ループを使用して $data 配列を走査し、id、name、および age フィールドの値を出力します。各レコードの「\t」はタブ文字を表し、「\n」は改行文字を表します。

4. データベース接続を閉じる

データベースを使用した後、リソースを解放し、セキュリティを確保するためにデータベース接続を閉じる必要があります。以下は例です:

// 关闭连接
$conn->close();

上記のコードでは、mysqli 拡張機能の close メソッドを使用してデータベース接続を閉じます。

概要

データベースにクエリを実行し、その結果を PHP の 2 次元配列として保存することは非常に簡単です。データベース接続を確立し、SQL クエリ ステートメントを実行し、結果を保存するだけです。 2 次元配列としてクエリを使用し、結果があれば十分です。 PDO 拡張機能などの他のデータベース拡張機能を使用している場合も、同様の操作を非常に簡単に実装できます。

以上がPHP を使用してデータベースにクエリを実行し、結果を 2D 配列として保存する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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