ホームページ >バックエンド開発 >PHPの問題 >PHPクエリデータテーブルを配列に変換する

PHPクエリデータテーブルを配列に変換する

WBOY
WBOYオリジナル
2023-05-19 12:01:37530ブラウズ

MySQL を PHP のデータベースとして使用する場合、多くの場合、クエリされたデータ テーブルのデータを配列形式に変換する必要があります。配列は PHP でよく使用されるデータ型の 1 つであり、クエリ コードを作成するときは、データの処理と変換に PHP 配列を使用する必要があることが多いため、この方法は非常に一般的です。

以下では、MySQL のクエリ結果を PHP 配列形式に変換する簡単な方法を紹介します。

  1. mysql_fetch_array を使用する

PHP で mysql データ テーブルにクエリを実行し、それを配列に変換する最も基本的な方法は、mysql_fetch_array 関数を使用することです。この関数の機能は、MySQL クエリの結果を行ごとのデータ レコードから PHP 配列タイプのデータに変換することです。この関数の構文は次のとおりです。

mysql_fetch_array(resource $result [, int $result_type =  MYSQL_BOTH ])

このうち、最初のパラメータは MySQL クエリの結果セットで、2 番目のパラメータはオプションのパラメータで、返される必要がある配列の型を示します。 MYSQL_BOTH は、連想配列と数値配列の両方を返すことを意味します。さらに、MYSQL_ASSOC および MYSQL_NUM に設定して、それぞれ連想配列または数値配列のみを返すこともできます。

サンプル コードは次のとおりです。

// 连接数据库
$conn = mysql_connect('localhost','root','');
mysql_query("set names 'utf8'");
mysql_select_db('test');

//查询数据表
$sql = "select * from student";
$result = mysql_query($sql);

//转换为数组
$arr = array();
while($row = mysql_fetch_array($result,MYSQL_ASSOC)){
    $arr[] = $row;
}
//输出结果
print_r($arr);

上記のコードでは、最初にデータベースに接続し、次に学生データ テーブル内のすべてのデータをクエリし、最後に while ループを使用してすべてのクエリ結果を走査し、各結果が配列に追加され、最後に配列全体が出力されます。

2. PDO を使用して配列のクエリと変換を行う

もう 1 つの方法は、PHP の PDO (PHP Data Object) 拡張ライブラリを使用してデータベースにクエリを実行し、結果セットを取得することです。 PDO は、データベースを操作するためのより柔軟かつ安全な方法を提供し、PDO を介してデータベースにクエリを実行すると、SQL インジェクションなどの攻撃を効果的に防ぐことができます。

PDO による MySQL クエリの例は次のとおりです:

//连接数据库
$dsn = 'mysql:dbname=test;host=localhost';
$username = 'root';
$password = '';
try {
    $dbh = new PDO($dsn, $username, $password,array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

//查询数据表
$sql = "select * from student";
$sth = $dbh->query($sql);

//转换为数组
$arr = $sth->fetchAll(PDO::FETCH_ASSOC);
print_r($arr);

上の例では、最初に MySQL データベースへの接続を確立し、次に PDO (PHP データ オブジェクト) を使用してすべてのクエリを実行しました。学生データ テーブルのデータを取得し、 fetchAll 関数を使用してすべての結果セットのデータを取得し、最後に配列を出力します。

この例では、データ テーブルをクエリして配列に変換するコードが比較的単純で、PDO メソッドの方が mysql_fetch_array メソッドよりも安全で信頼性が高いことがわかります。

概要:

上記の 2 つの方法を使用すると、MySQL のデータ テーブル クエリの結果を PHP 配列形式に変換できます。方法 1 は MySQL 拡張ライブラリ関数に適していますが、より高速で安全な PDO 操作方法をサポートしていないという欠点があります。 PDO 方式はより柔軟で安全であり、SQL インジェクション攻撃を防ぐという利点があり、妥協策です。使用方法の選択は、実際のシナリオに基づいて検討する必要があります。

以上がPHPクエリデータテーブルを配列に変換するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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