日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

php中mysqli 处理查询结果集的几个方法

發(fā)布時間:2025/3/15 数据库 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php中mysqli 处理查询结果集的几个方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

  最近對php查詢mysql處理結果集的幾個方法不太明白的地方查閱了資料,在此整理記下

Php使用mysqli_result類處理結果集有以下幾種方法

fetch_all()抓取所有的結果行并且以關聯(lián)數(shù)據(jù),數(shù)值索引數(shù)組,或者兩者皆有的方式返回結果集。
fetch_array()以一個關聯(lián)數(shù)組,數(shù)值索引數(shù)組,或者兩者皆有的方式抓取一行結果。
fetch_object()以對象返回結果集的當前行。
fetch_row()以枚舉數(shù)組方式返回一行結果
fetch_assoc()以一個關聯(lián)數(shù)組方式抓取一行結果。
fetch_field_direct()以對象返回結果集中單字段的元數(shù)據(jù)。
fetch_field()以對象返回結果集中的列信息
fetch_fields()以對象數(shù)組返回代表結果集中的列信息

?

?

?

?

?

?

?

?

??

fetch_all (從結果集中取得所有行作為關聯(lián)數(shù)組)

$sql="select * from user";$result=$link->query($sql);$row=$result->fetch_all(MYSQLI_BOTH);//參數(shù)MYSQL_ASSOC、MYSQLI_NUM、MYSQLI_BOTH規(guī)定產(chǎn)生數(shù)組類型$n=0;while($n<mysqli_num_rows($result)){echo "ID:".$row[$n]["id"]."用戶名:".$row[$n]["name"]."密碼:".$row[$n]["password"]."<br />";$n++;}

?

?fetch_array (以一個關聯(lián)數(shù)組,數(shù)值索引數(shù)組,或者兩者皆有的方式抓取一行結果)

$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 //其返回結果可以是關聯(lián)數(shù)組也可以是數(shù)值數(shù)組索引,故$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 //返回的結果是對象,要以對象的方式調(diào)用

?

fetch_row (以枚舉數(shù)組方式返回一行結果)

$sql="select * from user";$result=$link->query($sql);while($row=$result->fetch_row()){echo "ID:".$row[0]."用戶名:".$row[1]."密碼:".$row[2]."<br />";} //無更多行時返回NULL //以數(shù)值下標調(diào)用數(shù)組,a[0]正確、a["id"]則不

?

fetch_assoc (以一個關聯(lián)數(shù)組方式抓取一行結果)

$sql="select * from user";$result=$link->query($sql);while($row=$result->fetch_assoc()){echo "ID:".$row["id"]."用戶名:".$row["name"]."密碼:".$row["password"]."<br />";} //無更多行時返回NULL //以關聯(lián)索引訪問數(shù)組,a["id"]正確、a[0]則不

?

fetch_field_direct (以對象返回結果集中單字段的元數(shù)據(jù)既單列的信息)

$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."數(shù)據(jù)類型:".$row->type."<br />";} //fetch_field_direct($n)只返回單個列,所以得不斷調(diào)用該方法,沒有該列時返回false

?

fetch_field (以對象返回結果集中的列信息)

$sql="select * from user";$result=$link->query($sql);while($row=$result->fetch_field()){echo "列名:".$row->name."所在表:".$row->table."數(shù)據(jù)類型:".$row->type."<br />";} //該方法檢索所有的列 //以對象方式返回列信息 //返回對象屬性如:name - 列名,table - 該列所在的表名,type - 該列的類型,等

?

fetch_fields (以對象數(shù)組返回代表結果集中的列信息)

?

$sql="select * from user";$result=$link->query($sql);$row=$result->fetch_fields();foreach($row as $val){echo "列名:".$val->name."所在表:".$val->table."數(shù)據(jù)類型:".$val->type."<br />";} //該方法功能與目的fetch_field一樣 //不一樣的是該方法返回一個對象數(shù)組(如:echo $row[0]->name;輸出第一列的名字),而不是一次檢索一列

另:mysqli_result類還有其他方法

field_tell()返回字段指針的位置
data_seek()調(diào)整結果指針到結果集中的一個任意行
num_fields()返回結果集中的字段數(shù)(列數(shù))
field_seek()調(diào)整字段指針到特定的字段開始位置
free()?釋放與某個結果集相關的內(nèi)存
fetch_lengths()返回結果集中當前行的列長度
num_rows()返回結果集中的行數(shù)

?

?

?

?

?

?

?

參考資料:php手冊(http://php.net/manual/zh/class.mysqli-result.php)

?

?


?

轉(zhuǎn)載于:https://www.cnblogs.com/lucky-pin/p/4855145.html

新人創(chuàng)作打卡挑戰(zhàn)賽發(fā)博客就能抽獎!定制產(chǎn)品紅包拿不停!

總結

以上是生活随笔為你收集整理的php中mysqli 处理查询结果集的几个方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。