最近對php查詢mysql處理結果集的幾個方法不太明白的地方查閱了資料,在此整理記下(相關推薦:mysql教程)
Php使用mysqli_result類別處理結果集有以下幾種方法
#fetch_all() |
抓取所有的結果行並且以關聯數據,數值索引數組,或兩者皆有的方式傳回結果集。 |
fetch_array() |
#以關聯數組,數值索引數組,或兩者皆有的方式抓取一行結果。 |
fetch_object() |
#以物件傳回結果集的目前行。 |
fetch_row() |
#以枚舉數組方式傳回一行結果 |
fetch_assoc() |
以一個關聯陣列方式抓取一行結果。 |
fetch_field_direct() |
以物件傳回結果集中單一欄位的元資料。 |
fetch_field() |
#以物件傳回結果集中的列資訊。 |
fetch_fields() |
#以物件陣列傳回代表結果集中的列資訊。 |
#
#
# fetch_all (從結果集中取得所有行作為關聯數組)
1 2 3 4 5 6 7 8 | $sql = "select * from user" ;
$result = $link ->query( $sql );
$row = $result ->fetch_all(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 (以一個關聯數組,數值索引數組,或兩者皆有的方式抓取一行結果)
1 2 3 4 5 6 7 | $sql = "select * from user" ;
$result = $link ->query( $sql );
while ( $row = $result ->fetch_array()){
echo "ID:" . $row [ "id" ]. "用户名:" . $row [1]. "密码:" . $row [ "password" ]. "<br />" ;
}
|
登入後複製
fetch_object (#以物件傳回結果集的目前行)
##
1 2 3 4 5 6 7 | $sql = "select * from user" ;
$result = $link ->query( $sql );
while ( $row = $result ->fetch_object()){
echo "ID:" . $row ->id. "用户名:" . $row ->name. "密码:" . $row ->password. "<br />" ;
}
|
登入後複製
fetch_row
(以枚舉數組方式傳回一行結果)
1 2 3 4 5 6 7 | $sql = "select * from user" ;
$result = $link ->query( $sql );
while ( $row = $result ->fetch_row()){
echo "ID:" . $row [0]. "用户名:" . $row [1]. "密码:" . $row [2]. "<br />" ;
}
|
登入後複製
fetch_assoc (以一個關聯陣列方式抓取一行結果)
#
1 2 3 4 5 6 7 | $sql = "select * from user" ;
$result = $link ->query( $sql );
while ( $row = $result ->fetch_assoc()){
echo "ID:" . $row [ "id" ]. "用户名:" . $row [ "name" ]. "密码:" . $row [ "password" ]. "<br />" ;
}
|
登入後複製
fetch_field_direct (以物件傳回結果集中單一欄位的元資料既單列的訊息)
1 2 3 4 5 6 7 8 | $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
(
#以物件傳回結果集中的列資訊
1 2 3 4 5 6 7 8 | $sql = "select * from user" ;
$result = $link ->query( $sql );
while ( $row = $result ->fetch_field()){
echo "列名:" . $row ->name. "所在表:" . $row ->table. "数据类型:" . $row ->type. "<br />" ;
}
|
登入後複製
)
| ) |
## fetch_fields |
(以物件陣列傳回代表結果集中的列資訊 |
#1 2 3 4 5 6 7 8 | $sql = "select * from user" ;
$result = $link ->query( $sql );
$row = $result ->fetch_fields();
foreach ( $row as $val ){
echo "列名:" . $val ->name. "所在表:" . $val ->table. "数据类型:" . $val ->type. "<br />" ;
}
|
登入後複製
|
另:mysqli_result類別還有其他方法 |
field_tell() |
#傳回欄位指標的位置 |
data_seek() |
調整結果指標到結果集中的一個任意行 |
num_fields() |
傳回結果集中的欄位數(列數) |
##field_seek()
|
#調整欄位指標到特定的欄位開始位置
|
#free()
釋放與某個結果集相關的記憶體
fetch_lengths()
傳回結果集中目前行的列長度
############num_rows()#############傳回結果集中的行數########### ####### ###### ###### ###### ###### ###### ##### ######參考資料:php手冊(http://php.net/manual/zh/class.mysqli-result.php)###
以上是php中mysqli處理查詢結果集的多個方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!