php中傳回查詢資料集的方法:1、使用函數【mysql_result()】查詢;2、使用函數【mysql_fetch_row()】查詢;3、使用函數【mysql_fetch_array()】查詢。
php中傳回查詢資料集的方法:
1、mysql_result()
:優點在於使用方便;其缺點在於功能少,一次呼叫只能取得結果資料集中的一行元素,對較大型的資料庫教學效率較低;
mysql_result() 函數傳回結果集中一個欄位的值,如果成功,則該函數傳回欄位值,如果失敗,則傳回false。
語法:mysql_result(data,row,field)
參數:data 必需,規定要使用的結果標識符,該標識符是mysql_query() 函數返回的。
參數:row 必需,規定行號,行號從 0 開始。
參數:field 可選,規定取得哪個欄位,可以是欄位偏移值,欄位名稱或 table.fieldname,如果該參數未規定,則該函數從指定的行取得第一個欄位。
<?php $con = mysql_connect("localhost", "hello", "321"); if (!$con) { die('could not connect: ' . mysql_error()); } $db_selected = mysql_select_db("test_db", $con); $sql = "select * from person"; $result = mysql_query($sql, $con); echo mysql_result($result, 0); mysql_close($con); ?>
2、mysql_fetch_row()
:優點在於執行效率在4種方法中最高;不足在於只能用數字作為屬性索引來獲得屬性值,在使用時非常容易出現混淆;
mysql_fetch_row() 函數從結果集中取得一行作為數字陣列。
語法:mysql_fetch_row(data)
參數:data 必需,要使用的資料指標,該資料指標是從 mysql_query() 傳回的結果。
說明:mysql_fetch_row() 從和結果標識 data 關聯的結果集中取得一行資料並作為數組返回,每個結果的列儲存在一個數組的單元中,偏移量從 0 開始。
依序呼叫 mysql_fetch_row() 將傳回結果集中的下一行,如果沒有更多行則傳回 false。
傳回值:傳回根據所取得的行所產生的陣列,如果沒有更多行則回傳false,範例如下:
<?php $con = mysql_connect("localhost", "hello", "321"); if (!$con) { die('could not connect: ' . mysql_error()); } $db_selected = mysql_select_db("test_db", $con); $sql = "select * from person where lastname='adams'"; $result = mysql_query($sql, $con); print_r(mysql_fetch_row($result)); mysql_close($con); ?>
輸出:
array ( [0] => adams [1] => john [2] => london )
# 3、mysql_fetch_array()
:執行效率同樣高,同mysql_fetch_row()相差無幾,並且可以用屬性名方式直接獲得屬性值,因此在實際應用中最常用;
#定義和用法
mysql_fetch_array() 函數從結果集中取得一行作為關聯數組,或數字數組,或二者兼有,返回根據從結果集取得的行生成的數組,如果沒有更多行則回傳false。
語法:mysql_fetch_array(data,array_type)
參數:data 可選,規定規定要使用的資料指標,該資料指標是mysql_query() 函數產生的結果。
array_type 可選,規定傳回哪一個結果,可能的值:
mysql_assoc - 關聯數組
<?php $con = mysql_connect("localhost", "hello", "321"); if (!$con) { die('could not connect: ' . mysql_error()); } $db_selected = mysql_select_db("test_db", $con); $sql = "select * from person where lastname='adams'"; $result = mysql_query($sql, $con); print_r(mysql_fetch_array($result)); mysql_close($con); ?> //输出类似: array ( [0] => adams [lastname] => adams [1] => john [firstname] => john [2] => london [city] => london )mysql_fetch_object():採用了物件導向思想,在設計思路上更為先進,如果習慣於用物件導向的思路來寫程式,則會很自地選擇它,其次,該方法的優點也體現在,對於結構較為負責的資料結果,在邏輯上更為清晰。
4、mysql_fetch_object() 函數從結果集(記錄集)取得一行作為物件。
mysql_fetch_object(data)
<?php $con = mysql_connect("localhost", "peter", "abc123"); if (!$con) { die('could not connect: ' . mysql_error()); } $db_selected = mysql_select_db("test_db", $con); $sql = "select * from person"; $result = mysql_query($sql, $con); while ($row = mysql_fetch_object($result)) { echo $row->firstname . "<br />"; } mysql_close($con); ?>輸出:
john,george,thomas
相關免費學習推薦:php程式設計(影片)
#
以上是php中如何傳回查詢資料集的詳細內容。更多資訊請關注PHP中文網其他相關文章!