PHP は Web 開発の分野で広く使用されているスクリプト言語であり、MySQL は広く使用されているリレーショナル データベース管理システムです。 PHP では、MySQL 拡張機能を使用して MySQL データベースに接続し、操作できます。その中で、SELECT ステートメントを使用して MySQL データベース内のデータをクエリすると、さまざまな方法でクエリ結果を取得できますが、その 1 つは配列を返すことです。
PHP では、MySQLi または PDO を使用して MySQL データベースを操作するのが最も一般的な方法です。以下では、これら 2 つの拡張機能を使用して MySQL データベースにクエリを実行し、配列を返す方法について説明します。
MySQLi 拡張機能を使用して MySQL データベースにクエリを実行し、配列を返す
MySQLi 拡張機能を使用して MySQL データベースにクエリを実行する場合、MySQLi の query() メソッドを使用して SELECT ステートメントを実行し、配列を取得できます。クエリの結果。 query() メソッドは結果セット オブジェクトを返します。 fetch_all() メソッドを呼び出すことで、クエリ結果の配列形式を取得できます。
サンプルコードは以下の通りです:
// 建立MySQL数据库连接 $conn = new mysqli('localhost', 'root', 'password', 'database'); // 执行SELECT语句并获取查询结果 $result = $conn->query("SELECT * FROM table"); // 将查询结果转化为数组形式 $rows = $result->fetch_all(MYSQLI_ASSOC); // 输出查询结果数组 foreach ($rows as $row) { print_r($row); } // 关闭MySQL连接 $conn->close();
このうち、fetch_all()メソッドのパラメータMYSQLI_ASSOCは、クエリ結果を連想配列形式に変換することを意味します。結果を数値インデックス配列形式に変換することを意味します。または、MYSQLI_BOTH を使用して連想配列と数値インデックス配列形式の両方を返します。
PDO 拡張機能を使用して MySQL データベースにクエリを実行すると配列が返されます
PDO 拡張機能を使用して MySQL データベースにクエリを実行する場合、PDO query() メソッドまたは prepare() メソッドを使用してクエリを実行できます。 。 query() メソッドは SQL ステートメントを直接実行し、結果セット オブジェクトを返しますが、prepare() メソッドは、execute() メソッドを呼び出して前処理された SQL ステートメントを実行し、準備されたステートメント オブジェクトを返す必要があります。どちらのメソッドを使用しても、 fetchAll() メソッドを呼び出すことで、結果セット オブジェクトを配列形式に変換できます。
サンプルコードは以下のとおりです:
// 建立MySQL数据库连接 $conn = new PDO('mysql:host=localhost;dbname=database', 'root', 'password'); // 执行SELECT语句并获取查询结果 $result = $conn->query("SELECT * FROM table"); // 将查询结果转化为数组形式 $rows = $result->fetchAll(PDO::FETCH_ASSOC); // 输出查询结果数组 foreach ($rows as $row) { print_r($row); } // 关闭MySQL连接 $conn = null;
このうち、fetchAll()メソッドのパラメータPDO::FETCH_ASSOCは、結果セットオブジェクトを連想配列形式に変換することを意味します。 PDO::FETCH_NUM を使用して結果を表します。数値インデックス配列形式に変換するか、PDO::FETCH_BOTH を使用して連想配列と数値インデックス配列形式の両方を返します。
概要
上記では、MySQLi および PDO 拡張機能を使用して MySQL データベースにクエリを実行し、クエリ結果を配列の形式で返す方法について説明しました。拡張関数ごとに呼び出しメソッドは異なりますが、その本質はクエリ結果セット オブジェクトを返し、それを配列形式に変換することです。実際の開発では、特定の状況に応じてさまざまな拡張関数を選択して、MySQL データベースにクエリを実行できます。
以上がphpクエリmysqlは配列を返しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。