使用mysql_fetch_object()函數獲取結果集中一行作為對象(php操作mysql數據庫的方法五)
使用mysql_fetch_object()函數 同樣可以獲取差選結果集中的數據,跟上一篇文章中介紹的函數是類似的,下面我們通過同一個實例的不同方法了解這兩個函數在使用上的區別。
在上一篇文章《使用mysql_fetch_array()獲取數組結果集中的信息(PHP操作MySQL數據庫的方法四)》中我們介紹了mysql_fetch_array()函數獲取結果集,那么今天我們繼續介紹獲取結果集的函數mysql_fetch_object()函數。
首先我們看下該函數的語法格式如下:
object?mysql_fetch_object(resource?result)
注意:
立即學習“PHP免費學習筆記(深入)”;
這個擴展是在PHP 5.5.0過時,它是在PHP 7.0.0刪除。相反,mysqli擴展或pdo_mysql應使用。參見MySQL:選擇API指南和相關FAQ以獲取更多信息。
mysql_fetch_object()函數和mysql_fetch_array()函數類似,只是有一點區別,前者返回的是一個對象而不是數組,該函數只通過字段名來訪問數組,使用下面的格式獲取結果集中行的元素值。
$row->col_name??//col_name為列名,$row代表結果集
例如,如果從某數據表中檢索 id 和 name值,可以用$row->id 和 $row->name 訪問行中的元素值。
注意:
本函數返回的字段也是區分大小寫,這是初學者學習編程最容易忽視的問題。
下面的實例通過mysql_fetch_object()函數獲取結果集中的數據信息,然后使用 echo語句從結果集中以“結果集->列名”的形式輸出個字段所對應的圖書信息。
具體步驟如下:
1.創建一個PHP動態頁面,命名index.php,在index.php中添加一個表單,一個文本框以及一個提交按鈕,具體代碼如下:
????<!--上傳文件表單--> ????
2.連接到MySQL數據庫服務器,選擇數據庫 php_cn,設置數據庫的編碼格式為GB2312。具體代碼如下:
<?php header("Content-Type:text/html; charset=utf-8"); $link = mysql_connect("localhost","root","root")or die("連接數據庫失敗".mysql_error()); mysql_select_db("php_cn",$link); mysql_query("set names gb2312"); //設置編碼,防止發生亂發 ?>
3.使用mysql_fetch_object()函數獲取查詢結果集中的數據,其返回的值為一個對象:
<?php header("Content-Type:text/html; charset=utf-8"); $sql = mysql_query("select from tb_book"); //執行查詢語句 $info = mysql_fetch_object($sql); //獲取查詢結果,返回值為數組 if($_POST['Submit']=="查詢"){ // 判斷按鈕的值是否為查詢 $txt_book = $_POST['txt_book']; //獲取文本框提交的值 $sql = mysql_query("select * from tb_book where bookname like '%".trim($txt_book)."%'"); //執行模糊查詢 $info = mysql_fetch_array($sql); // 獲取查詢結果 } ?>
4.使用 do…while循環語句,“結果列->列名”的方式輸出結果集中的圖文信息,代碼如下:
<?php do { //do...while 循環 ?> ????
id;??> | bookname;??> | data;??> | price;??> | maker;??> | publisher;??> |
????
輸出結果為:
該函數就介紹到這里,下一篇我們將介紹另外一個函數,是逐行獲取結果集中的每條記錄,具體請閱讀《使用mysql_fetch_array()獲取數組結果集中的信息(PHP操作MySQL數據庫的方法四)》!