php中mysqli處理查詢結果集的幾個方法
php中mysqli 處理查詢結果集的幾個方法
來源於:http://www.cnblogs.com/lucky-pin/p/4855145.html
最近對php查詢mysql處理結果集的幾個方法不太明白的地方查閱了資料,在此整理記下
Php使用mysqli_result類處理結果集有以下幾種方法
fetch_all() | 抓取所有的結果行並且以關聯資料,數值索引陣列,或者兩者皆有的方式返回結果集。 |
fetch_array() | 以一個關聯陣列,數值索引陣列,或者兩者皆有的方式抓取一行結果。 |
fetch_object() | 以物件返回結果集的當前行。 |
fetch_row() | 以列舉陣列方式返回一行結果 |
fetch_assoc() | 以一個關聯陣列方式抓取一行結果。 |
fetch_field_direct() | 以物件返回結果集中單欄位的後設資料。 |
fetch_field() | 以物件返回結果集中的列資訊。 |
fetch_fields() | 以物件陣列返回代表結果集中的列資訊。 |
fetch_all (從結果集中取得所有行作為關聯陣列)
$sql="select * from user"; $result=$link->query($sql); $row=$result->fetch_all(MYSQLI_BOTH);//引數MYSQL_ASSOC、MYSQLI_NUM、MYSQLI_BOTH規定產生陣列型別 $n=0; while($n<mysqli_num_rows($result)){ echo "ID:".$row[$n]["id"]."使用者名稱:".$row[$n]["name"]."密碼:".$row[$n]["password"]."<br />"; $n++; }
fetch_array (以一個關聯陣列,數值索引陣列,或者兩者皆有的方式抓取一行結果)
$sql="select * from user"; $result=$link->query($sql); while($row=$result->fetch_array()){ echo "ID:".$row["id"]."使用者名稱:".$row[1]."密碼:".$row["password"]."<br />"; }//fetch_array方法不再有結果時返回返回NULL //其返回結果可以是關聯陣列也可以是數值陣列索引,故$row["id"]、$row[1]都可以
fetch_object (以物件返回結果集的當前行)
$sql="select * from user"; $result=$link->query($sql); while($row=$result->fetch_object()){ echo "ID:".$row->id."使用者名稱:".$row->name."密碼:".$row->password."<br />"; }//如果無更多的行則返回NULL//返回的結果是物件,要以物件的方式呼叫
fetch_row (以列舉陣列方式返回一行結果)
$sql="select * from user"; $result=$link->query($sql); while($row=$result->fetch_row()){ echo "ID:".$row[0]."使用者名稱:".$row[1]."密碼:".$row[2]."<br />"; }//無更多行時返回NULL //以數值下標呼叫陣列,a[0]正確、a["id"]則不
fetch_assoc (以一個關聯陣列方式抓取一行結果)
$sql="select * from user"; $result=$link->query($sql); while($row=$result->fetch_assoc()){ echo "ID:".$row["id"]."使用者名稱:".$row["name"]."密碼:".$row["password"]."<br />"; }//無更多行時返回NULL //以關聯索引訪問陣列,a["id"]正確、a[0]則不
fetch_field_direct (以物件返回結果集中單欄位的後設資料既單列的資訊)
$sql="select * from user"; $result=$link->query($sql); $n=0; while(1){ if(!$row=$result->fetch_field_direct($n++)) break; echo "列名:".$row->name."所在表:".$row->table."資料型別:".$row->type."<br />"; }//fetch_field_direct($n)只返回單個列,所以得不斷呼叫該方法,沒有該列時返回false
fetch_field (以物件返回結果集中的列資訊)
$sql="select * from user"; $result=$link->query($sql); while($row=$result->fetch_field()){ echo "列名:".$row->name."所在表:".$row->table."資料型別:".$row->type."<br />"; }//該方法檢索所有的列 //以物件方式返回列資訊 //返回物件屬性如:name - 列名,table - 該列所在的表名,type - 該列的型別,等
fetch_fields (以物件陣列返回代表結果集中的列資訊)
$sql="select * from user"; $result=$link->query($sql); $row=$result->fetch_fields(); foreach($row as $val){ echo "列名:".$val->name."所在表:".$val->table."資料型別:".$val->type."<br />"; }//該方法功能與目的fetch_field一樣 //不一樣的是該方法返回一個物件陣列(如:echo $row[0]->name;輸出第一列的名字),而不是一次檢索一列
另:mysqli_result類還有其他方法
field_tell() | 返回欄位指標的位置 |
data_seek() | 調整結果指標到結果集中的一個任意行 |
num_fields() | 返回結果集中的欄位數(列數) |
field_seek() | 調整欄位指標到特定的欄位開始位置 |
free() | 釋放與某個結果集相關的記憶體 |
fetch_lengths() | 返回結果集中當前行的列長度 |
num_rows() | 返回結果集中的行數 |
本文轉自孤舟夜航之家部落格51CTO部落格,原文連結http://blog.51cto.com/cysky/1701276如需轉載請自行聯絡原作者
cysky
相關文章
- 處理查詢的幾個階段
- PLSQL Language Referenc-PL/SQL靜態SQL-使用顯式游標OPEN-FETCH-CLOSE處理查詢結果集SQL
- DBeaver 匯出多個查詢結果集
- PHP PDO獲取結果集PHP
- php mysqli query 查詢資料庫後讀取內容的方法PHPMySql資料庫
- PHP中的MySQLi擴充套件學習(三)mysqli的基本操作PHPMySql套件
- Mybatis底層原理學習(三):查詢結果集的處理原理MyBatis
- PHP中的MySQLi擴充套件學習(二)mysqli類的一些少見的屬性方法PHPMySql套件
- Mybatis 查詢語句結果集總結MyBatis
- 使用查詢結果更新表的方法
- PHP中把stdClass Object轉array的幾個方法PHPObject
- mysql中的多行查詢結果合併成一個MySql
- 處理上百萬條的資料庫如何提高處理查詢速度資料庫
- pandas 的幾個查詢方法
- JAVA資料庫處理(連線,資料查詢,結果集返回)Java資料庫
- PostgreSQL函式:返回表查詢結果集SQL函式
- 使用ROWNUM將導致查詢結果集的固化
- 巧用臨時表將大結果集轉換為小結果集驅動查詢薦
- PLSQL Language Referenc-PL/SQL靜態SQL-查詢結果集處理SQL
- MySQL 查詢結果取交集的實現方法MySql
- PLSQL Language Referenc-PL/SQL靜態SQL-帶有子查詢的查詢結果集處理SQL
- Oracle中把一個查詢結果插入到一張表中Oracle
- SQL查詢結果集對注入的影響及利用SQL
- [php]mysqli操作流程PHPMySql
- php mysqli操作 mysqlPHPMySql
- PHP中MySQL、MySQLi和PDO的用法和區別PHPMySql
- iOS FMDB有返回結果集和無返回結果集iOS
- go 如何處理資料庫返回的多結果集Go資料庫
- 動態sql查詢結果多行的處理情況SQL
- xsl中,對xml文件查詢的結果再次查詢XML
- PB帶引數帶結果集的動態SQL查詢SQL
- JAVA + Oracle儲存過程返回查詢結果集JavaOracle儲存過程
- 備忘:laravel 對查詢結果集可以迴圈where查詢Laravel
- unity中取樣深度圖的結果處理Unity
- Jdbc引入連線池,JdbcTemplate處理結果集的優化JDBC優化
- Oracle中過程/函式返回結果集Oracle函式
- (反射+內省機制的運用)處理jdbc的結果集反射JDBC
- SQL Server對組合查詢結果排序方法SQLServer排序