php中mysqli_fentch四種常用查詢函數(shù)的比較表及實(shí)例演示詳解
一、比較表
以下是PHP中mysqli_fetch系列四種常用查詢函數(shù)(mysqli_fetch_array、mysqli_fetch_assoc、mysqli_fetch_row、mysqli_fetch_object)的比較表,涵蓋返回類型、索引方式、參數(shù)、性能特點(diǎn)及適用場(chǎng)景等關(guān)鍵方面,幫助開(kāi)發(fā)者快速選擇合適函數(shù)。
| 函數(shù)名 | 返回類型 | 索引方式 | 參數(shù) | 使用示例 | 主要特點(diǎn)與適用場(chǎng)景 |
|---|---|---|---|---|---|
| mysqli_fetch_array | 數(shù)組 | 可選:關(guān)聯(lián)數(shù)組、數(shù)字索引數(shù)組或兩者兼有(默認(rèn)) | result_type: MYSQLI_BOTH(默認(rèn))、MYSQLI_ASSOC、MYSQLI_NUM | $row = $result->fetch_array(); echo $row['name'] . $row[0]; | 靈活性高,但可能冗余;可通過(guò)參數(shù)控制返回格式,適合需同時(shí)訪問(wèn)字段名和數(shù)字索引的場(chǎng)景。 |
| mysqli_fetch_assoc | 數(shù)組 | 僅關(guān)聯(lián)數(shù)組(字段名作為鍵) | 無(wú) | $row = $result->fetch_assoc(); echo $row['name']; | 返回純關(guān)聯(lián)數(shù)組,代碼可讀性好;性能優(yōu)于mysqli_fetch_array(無(wú)多余索引),適合需明確字段名的查詢。 |
| mysqli_fetch_row | 數(shù)組 | 僅數(shù)字索引數(shù)組(按查詢字段順序) | 無(wú) | $row = $result->fetch_row(); echo $row[0]; | 高效輕量(僅數(shù)字索引);適用于字段順序固定或不關(guān)心字段名的場(chǎng)景,如快速導(dǎo)出數(shù)據(jù)。 |
| mysqli_fetch_object | 對(duì)象 | 屬性訪問(wèn)(字段名作為屬性) | 無(wú) | $row = $result->fetch_object(); echo $row->name; | 面向?qū)ο箫L(fēng)格;需通過(guò)->訪問(wèn)屬性,適合集成到類或需鏈?zhǔn)讲僮鞯膱?chǎng)景,但創(chuàng)建對(duì)象稍慢。 |
補(bǔ)充說(shuō)明
性能對(duì)比:
mysqli_fetch_row通常最快(僅數(shù)字索引),mysqli_fetch_object稍慢(需實(shí)例化對(duì)象),而mysqli_fetch_array和mysqli_fetch_assoc居中。優(yōu)先選擇最簡(jiǎn)索引方式以優(yōu)化性能。結(jié)果集處理:所有函數(shù)逐行移動(dòng)結(jié)果集指針,末尾返回
false(數(shù)組函數(shù))或null(對(duì)象函數(shù))。錯(cuò)誤處理:查詢失敗時(shí)
mysqli_query返回false,需先驗(yàn)證結(jié)果集再調(diào)用fetch函數(shù)。推薦實(shí)踐:
明確字段名時(shí)用
mysqli_fetch_assoc(簡(jiǎn)潔高效)。需混合索引時(shí)用
mysqli_fetch_array(參數(shù)控制)。面向?qū)ο蟠a用
mysqli_fetch_object。高性能批量處理用
mysqli_fetch_row。
此表綜合了函數(shù)的核心差異,實(shí)際選擇應(yīng)結(jié)合查詢需求和數(shù)據(jù)訪問(wèn)模式。
二、示例
以下是PHP中mysqli_fetch四種查詢函數(shù)的實(shí)例輸出對(duì)比,通過(guò)print_r展示不同返回格式(用<pre>標(biāo)簽清晰呈現(xiàn)出不同,方便大家對(duì)比):
1.mysqli_fetch_array
特點(diǎn):默認(rèn)返回同時(shí)包含數(shù)字索引和關(guān)聯(lián)索引的數(shù)組(MYSQLI_BOTH)。
$result = $conn->query("SELECT id, name FROM users");
$row = $result->fetch_array(); // 默認(rèn) MYSQLI_BOTH
echo "<pre>"; print_r($row); echo "</pre>";輸出:
Array
(
[0] => 1 // 數(shù)字索引
[id] => 1 // 關(guān)聯(lián)索引
[1] => "Alice" // 數(shù)字索引
[name] => "Alice" // 關(guān)聯(lián)索引
)2.mysqli_fetch_assoc
特點(diǎn):僅返回關(guān)聯(lián)索引數(shù)組(字段名作為鍵)。
$row = $result->fetch_assoc(); echo "<pre>"; print_r($row); echo "</pre>";
輸出:
Array
(
[id] => 1
[name] => "Alice"
)3.mysqli_fetch_row
特點(diǎn):僅返回?cái)?shù)字索引數(shù)組(按查詢字段順序)。
$row = $result->fetch_row(); echo "<pre>"; print_r($row); echo "</pre>";
輸出:
Array
(
[0] => 1
[1] => "Alice"
)4.mysqli_fetch_object
特點(diǎn):返回對(duì)象,通過(guò)屬性訪問(wèn)字段。
$row = $result->fetch_object(); echo "<pre>"; print_r($row); echo "</pre>";
輸出:
stdClass Object
(
[id] => 1
[name] => "Alice"
)關(guān)鍵區(qū)別總結(jié):
索引方式:
- fetch_array:雙索引(數(shù)字+關(guān)聯(lián))。
- fetch_assoc:僅關(guān)聯(lián)索引。
- fetch_row:僅數(shù)字索引。
- fetch_object:對(duì)象屬性。
性能:
fetch_row最快(無(wú)額外索引),fetch_object稍慢(需實(shí)例化)。
適用場(chǎng)景:
- 明確字段名時(shí)用fetch_assoc;
- 需混合索引用fetch_array;
- 面向?qū)ο蟠a用fetch_object;
- 高性能處理用fetch_row。
總結(jié)
到此這篇關(guān)于php中mysqli_fentch四種常用查詢函數(shù)的比較表及實(shí)例演示的文章就介紹到這了,更多相關(guān)php mysqli_fentch常用查詢函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
php簡(jiǎn)單統(tǒng)計(jì)字符串單詞數(shù)量的方法
這篇文章主要介紹了php簡(jiǎn)單統(tǒng)計(jì)字符串單詞數(shù)量的方法,涉及php字符串分割與數(shù)組統(tǒng)計(jì)的相關(guān)技巧,需要的朋友可以參考下2015-06-06
PHP中單引號(hào)與雙引號(hào)的區(qū)別分析
在PHP中,我們可以使用單引號(hào)或者雙引號(hào)來(lái)表示字符串。不過(guò)我們作為開(kāi)發(fā)者,應(yīng)該了解其中的區(qū)別。單引號(hào)與雙引號(hào)對(duì)于定義字符一個(gè)是可以解析變量一個(gè)是會(huì)把變量直接輸出來(lái),同時(shí)單引號(hào)與雙引號(hào)在字符處理上單引號(hào)要優(yōu)與雙引號(hào)2014-08-08
PHP單元測(cè)試?yán)?PHPUNIT深入用法(三)
在本系列文章的前兩篇中PHP單元測(cè)試?yán)鳎篜HPUNIT初探和PHP單元測(cè)試?yán)鳎篜HPUNIT深入用法(二)中,分別介紹了phpunit的基本用法和phpunit中的一些重要用法。2011-03-03
PHP聊天室簡(jiǎn)單實(shí)現(xiàn)方法詳解
這篇文章主要介紹了PHP聊天室簡(jiǎn)單實(shí)現(xiàn)方法,結(jié)合實(shí)例形式詳細(xì)分析了php聊天室相關(guān)數(shù)據(jù)庫(kù)操作與ajax交互等操作技巧,需要的朋友可以參考下2018-12-12
php下實(shí)現(xiàn)在指定目錄搜索指定類型文件的函數(shù)
php在特定目錄中找特定類型的文件2008-10-10
關(guān)于PHP轉(zhuǎn)換超過(guò)2038年日期出錯(cuò)的問(wèn)題解決

