您好,登錄后才能下訂單哦!
這篇文章主要介紹了php中怎樣返回查詢數據集,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
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 - 關聯數組
mysql_num - 數字數組
mysql_both - 默認,同時產生關聯和數字數組
提示和注釋
注釋:mysql_fetch_array() 是 mysql_fetch_row() 的擴展版本。除了將數據以數字索引方式儲存在數組中之外,還可以將數據作為關聯索引儲存,用字段名作為鍵名。
提示:有很重要的一點必須指出,用 mysql_fetch_array() 并不明顯比用 mysql_fetch_row() 慢,而且還明顯提供了更多的值。
注釋:本函數返回的字段名是區分大小寫的,例子:
<?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_query() 獲得一行,并返回一個對象,如果失敗或沒有更多的行,則返回 false。
語法:mysql_fetch_object(data)
參數:data 必需,要使用的數據指針,該數據指針是從 mysql_query() 返回的結果。
提示和注釋
注釋:每個隨后對 mysql_fetch_object() 的調用都會返回記錄集中的下一行。
注釋:mysql_fetch_object() 與 mysql_fetch_array() 類似,只有一點區別 - 返回的是對象而不是數組,間接地,也意味著只能通過字段名來訪問數組,而不是偏移量,例子:
<?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中怎樣返回查詢數據集內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。