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