php中 mysql_result mysql_fetch_row mysql_fetch_array mysql_fetch_object四種函數(shù)的詳細說明.
mysql_result():優(yōu)點在于使用方便;其缺點在于功能少,一次調(diào)用只能獲取結(jié)果數(shù)據(jù)集中的一行元素,對較大型的數(shù)據(jù)庫教程效率較低;
mysql_result() 函數(shù)返回結(jié)果集中一個字段的值,如果成功,則該函數(shù)返回字段值,如果失敗,則返回 false。
語法:mysql_result(data,row,field)
參數(shù):row 必需,規(guī)定行號,行號從 0 開始。
參數(shù):field 可選,規(guī)定獲取哪個字段,可以是字段偏移值,字段名或 table.fieldname,如果該參數(shù)未規(guī)定,則該函數(shù)從指定的行獲取第一個字段。
mysql_fetch_row():優(yōu)點在于執(zhí)行效率在4種方法中最高;不足在于只能用數(shù)字作為屬性索引來獲得屬性值,在使用時非常容易出現(xiàn)混淆;
mysql_fetch_row() 函數(shù)從結(jié)果集中取得一行作為數(shù)字?jǐn)?shù)組。
語法:mysql_fetch_row(data)
說明:mysql_fetch_row() 從和結(jié)果標(biāo)識 data 關(guān)聯(lián)的結(jié)果集中取得一行數(shù)據(jù)并作為數(shù)組返回,每個結(jié)果的列儲存在一個數(shù)組的單元中,偏移量從 0 開始。
依次調(diào)用 mysql_fetch_row() 將返回結(jié)果集中的下一行,如果沒有更多行則返回 false。
返回值:返回根據(jù)所取得的行生成的數(shù)組,如果沒有更多行則返回 false,例子如下:
輸出:
mysql_fetch_array():執(zhí)行效率同樣高,同mysql_fetch_row()相差無幾,并且可以用屬性名方式直接獲得屬性值,因此在實際應(yīng)用中最常用;
定義和用法
mysql_fetch_array() 函數(shù)從結(jié)果集中取得一行作為關(guān)聯(lián)數(shù)組,或數(shù)字?jǐn)?shù)組,或二者兼有,返回根據(jù)從結(jié)果集取得的行生成的數(shù)組,如果沒有更多行則返回 false。
語法:mysql_fetch_array(data,array_type)
array_type 可選,規(guī)定返回哪種結(jié)果,可能的值:
mysql_assoc - 關(guān)聯(lián)數(shù)組
mysql_num - 數(shù)字?jǐn)?shù)組
mysql_both - 默認,同時產(chǎn)生關(guān)聯(lián)和數(shù)字?jǐn)?shù)組
提示和注釋
注釋:mysql_fetch_array() 是 mysql_fetch_row() 的擴展版本。除了將數(shù)據(jù)以數(shù)字索引方式儲存在數(shù)組中之外,還可以將數(shù)據(jù)作為關(guān)聯(lián)索引儲存,用字段名作為鍵名。
提示:有很重要的一點必須指出,用 mysql_fetch_array() 并不明顯比用 mysql_fetch_row() 慢,而且還明顯提供了更多的值。
注釋:本函數(shù)返回的字段名是區(qū)分大小寫的,例子:
mysql_fetch_object():采用了面向?qū)ο笏枷?在設(shè)計思路上更為先進,如果習(xí)慣于用面向?qū)ο蟮乃悸穪韺懗绦?則會很自地選擇它,其次,該方法的優(yōu)點還體現(xiàn)在,對于結(jié)構(gòu)較為負責(zé)的數(shù)據(jù)結(jié)果,在邏輯上更為清晰。
mysql_fetch_object() 函數(shù)從結(jié)果集(記錄集)中取得一行作為對象。
若成功的話,本函數(shù)從 mysql_query() 獲得一行,并返回一個對象,如果失敗或沒有更多的行,則返回 false。
語法:mysql_fetch_object(data)
參數(shù):data 必需,要使用的數(shù)據(jù)指針,該數(shù)據(jù)指針是從 mysql_query() 返回的結(jié)果。
提示和注釋
注釋:每個隨后對 mysql_fetch_object() 的調(diào)用都會返回記錄集中的下一行。
注釋:mysql_fetch_object() 與 mysql_fetch_array() 類似,只有一點區(qū)別 - 返回的是對象而不是數(shù)組,間接地,也意味著只能通過字段名來訪問數(shù)組,而不是偏移量,例子:
輸出:john,george,thomas