php中mysqli 處理查詢結果集的幾個方法

2021-08-07 21:06:03 字數 3076 閱讀 4621

最近對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

))

fetch_array (以乙個關聯陣列,數值索引陣列,或者兩者皆有的方式抓取一行結果)

$sql="select * from user";

$result=$link->query($sql

);

while($row=$result->fetch_array())

//fetch_array方法不再有結果時返回返回null

//其返回結果可以是關聯陣列也可以是數值陣列索引,故$row["id"]、$row[1]都可以

fetch_object(以物件返回結果集的當前行)

$sql="

select * from user";

$result=$link->query($sql);

while($row=$result->fetch_object())

//如果無更多的行則返回null

//返回的結果是物件,要以物件的方式呼叫

fetch_row(以列舉陣列方式返回一行結果)

$sql="select * from user";

$result=$link->query($sql

);

while($row=$result->fetch_row())

//無更多行時返回null

//以數值下標呼叫陣列,a[0]正確、a["id"]則不

fetch_assoc (以乙個關聯陣列方式抓取一行結果)

$sql="select * from user";

$result=$link->query($sql

);

while($row=$result->fetch_assoc())

//無更多行時返回null

//以關聯索引訪問陣列,a["id"]正確、a[0]則不

fetch_field_direct(以物件返回結果集中單字段的元資料既單列的資訊)

$sql="select * from user";

$result=$link->query($sql

);

$n=0;

while(1)

//fetch_field_direct($n)只返回單個列,所以得不斷呼叫該方法,沒有該列時返回false

fetch_field(以物件返回結果集中的列資訊)

$sql="select * from user";

$result=$link->query($sql

);

while($row=$result->fetch_field())

//該方法檢索所有的列

//以物件方式返回列資訊

//返回物件屬性如:name - 列名,table - 該列所在的表名,type - 該列的型別,等

fetch_fields(以物件陣列返回代表結果集中的列資訊)

$sql="select * from user";

$result=$link->query($sql

);

$row=$result->fetch_fields();

foreach($row

as$val)//

該方法功能與目的fetch_field一樣

//不一樣的是該方法返回乙個物件陣列(如:echo $row[0]->name;輸出第一列的名字),而不是一次檢索一列

另:mysqli_result類還有其他方法

field_tell()

返回字段指標的位置

data_seek()

調整結果指標到結果集中的乙個任意行

num_fields()

返回結果集中的字段數(列數)

field_seek()

調整字段指標到特定的字段開始位置

free()

釋放與某個結果集相關的記憶體

fetch_lengths()

返回結果集中當前行的列長度

num_rows()

返回結果集中的行數

參考資料:php手冊(

php中mysqli 處理查詢結果集的幾個方法

於 最近對php查詢mysql處理結果集的幾個方法不太明白的地方查閱了資料,在此整理記下 php使用mysqli result類處理結果集有以下幾種方法 fetch all 抓取所有的結果行並且以關聯資料,數值索引陣列,或者兩者皆有的方式返回結果集。fetch array 以乙個關聯陣列,數值索引陣...

php中mysqli 處理查詢結果集的幾個方法

最近對php查詢mysql處理結果集的幾個方法不太明白的地方查閱了資料,在此整理記下 php使用mysqli result類處理結果集有以下幾種方法 fetch all 抓取所有的結果行並且以關聯資料,數值索引陣列,或者兩者皆有的方式返回結果集。fetch array 以乙個關聯陣列,數值索引陣列,...

mysqli 處理查詢結果集的幾個方法

php中mysqli 處理查詢結果集的幾個方法,mysqli查詢結果 最近對php查詢mysql處理結果集的幾個方法不太明白的地方查閱了資料,在此整理記下 php使用mysqli result類處理結果集有以下幾種方法 函式描述 fetch all 抓取所有的結果行並且以關聯資料,數值索引陣列,或者...