MySQL を PHP のデータベースとして使用する場合、多くの場合、クエリされたデータ テーブルのデータを配列形式に変換する必要があります。配列は PHP でよく使用されるデータ型の 1 つであり、クエリ コードを作成するときは、データの処理と変換に PHP 配列を使用する必要があることが多いため、この方法は非常に一般的です。
以下では、MySQL のクエリ結果を PHP 配列形式に変換する簡単な方法を紹介します。
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 サイトの他の関連記事を参照してください。