在PHP中,查詢資料庫是非常常見的任務之一。查詢的結果可能會涉及多行、多列數據,這時候我們就需要將查詢結果處理成一個數組,以便於後續的處理。
本文將介紹幾種將查詢結果以陣列形式傳回的方法。
fetch_assoc()函數是MySQLi類別中的函數,用於將查詢結果從資源物件中提取出來,合併成一個關聯數組。關聯數組由列名作為鍵,資料作為值,可以很方便地處理資料。
下面是使用fetch_assoc()函數的範例:
// 连接MySQL数据库 $con = mysqli_connect("localhost","root","","test"); // 查询 $result_set = mysqli_query($con, "SELECT * FROM products"); // 结果形成数组 while ($row = mysqli_fetch_assoc($result_set)) { $result_array[] = $row; } // 输出数组 print_r($result_array);
fetch_row()函數也是MySQLi類別中的函數,用於將查詢結果從資源物件中提取出來,合併成一個索引數組。索引數組由資料表中的列號作為下標,資料作為值。
下面是一個使用fetch_row()函數的範例:
// 连接MySQL数据库 $con = mysqli_connect("localhost","root","","test"); // 查询 $result_set = mysqli_query($con, "SELECT * FROM products"); // 结果形成数组 while ($row = mysqli_fetch_row($result_set)) { $result_array[] = $row; } // 输出数组 print_r($result_array);
fetch_all()函數是MySQLi類別中新增的函數,用於將查詢結果從資源物件中提取出來,合併成一個二維數組。二維數組由行號和列號作為下標,資料作為值。
下面是使用fetch_all()函數的範例:
// 连接MySQL数据库 $con = mysqli_connect("localhost","root","","test"); // 查询 $result_set = mysqli_query($con, "SELECT * FROM products"); // 结果形成数组 $result_array = mysqli_fetch_all($result_set, MYSQLI_ASSOC); // 输出数组 print_r($result_array);
以上是查詢結果形成陣列的三種基本方法,分別使用fetch_assoc(), fetch_row () 和fetch_all()函數。其中,fetch_assoc()函數適用於大部分情況,因為它提供了最方便的處理方式。而fetch_row()函數和fetch_all()函數主要用於特定情況下的處理。
在實際應用中,也可以根據實際需求進行陣列的處理,例如使用array_map()和array_column()函數來對陣列元素進行操作和提取等等。
以上是淺析php怎麼將查詢結果以陣列形式傳回的詳細內容。更多資訊請關注PHP中文網其他相關文章!