明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

使用mysql_fetch_object()函數(shù)取得結(jié)果集中一行作為對象(PHP設(shè)置MySQL數(shù)據(jù)庫的方法5)

[摘要]使用mysql_fetch_object()函數(shù)獲取結(jié)果集中一行作為對象(PHP操作MySQL數(shù)據(jù)庫的方法五)使用mysql_fetch_object()函數(shù) 同樣可以獲取差選結(jié)果集中的數(shù)據(jù),跟上一篇文章中介紹的函數(shù)是類似的,下面我們通過同一個實例的不同方法了解這兩個函數(shù)在使用上的區(qū)別。在上一篇文...
使用mysql_fetch_object()函數(shù)獲取結(jié)果集中一行作為對象(PHP操作MySQL數(shù)據(jù)庫的方法五)

使用mysql_fetch_object()函數(shù) 同樣可以獲取差選結(jié)果集中的數(shù)據(jù),跟上一篇文章中介紹的函數(shù)是類似的,下面我們通過同一個實例的不同方法了解這兩個函數(shù)在使用上的區(qū)別。

在上一篇文章《使用mysql_fetch_array()獲取數(shù)組結(jié)果集中的信息(PHP操作MySQL數(shù)據(jù)庫的方法四)》中我們介紹了mysql_fetch_array()函數(shù)獲取結(jié)果集,那么今天我們繼續(xù)介紹獲取結(jié)果集的函數(shù)mysql_fetch_object()函數(shù)。

首先我們看下該函數(shù)的語法格式如下:

object mysql_fetch_object(resource result)

注意:

這個擴(kuò)展是在PHP 5.5.0過時,它是在PHP 7.0.0刪除。相反,mysqli擴(kuò)展或pdo_mysql應(yīng)使用。參見MySQL:選擇API指南和相關(guān)FAQ以獲取更多信息。

mysql_fetch_object()函數(shù)和mysql_fetch_array()函數(shù)類似,只是有一點區(qū)別,前者返回的是一個對象而不是數(shù)組,該函數(shù)只通過字段名來訪問數(shù)組,使用下面的格式獲取結(jié)果集中行的元素值。

$row->col_name  //col_name為列名,$row代表結(jié)果集

例如,如果從某數(shù)據(jù)表中檢索 id 和 name值,可以用$row->id 和 $row->name 訪問行中的元素值。

注意:

本函數(shù)返回的字段也是區(qū)分大小寫,這是初學(xué)者學(xué)習(xí)編程最容易忽視的問題。

下面的實例通過mysql_fetch_object()函數(shù)獲取結(jié)果集中的數(shù)據(jù)信息,然后使用 echo語句從結(jié)果集中以“結(jié)果集->列名”的形式輸出個字段所對應(yīng)的圖書信息。

具體步驟如下:

1.創(chuàng)建一個PHP動態(tài)頁面,命名index.php,在index.php中添加一個表單,一個文本框以及一個提交按鈕,具體代碼如下:

<html>
<body>
    <!--上傳文件表單-->
    <form method="post" action="" name = form1>
        <table>
           <tr>
               <td width="605" height="51" bgcolor="#CC99FF">
                   <p align="center">請輸入查詢內(nèi)容
                       <input type="text" name="txt_book" id="txt_book" size="25">&nbsp;
                       <input type="submit" name="Submit" value="查詢">
                   </p>
               </td>
           </tr>
            </table>
        </form>
</body>
</html>

2.連接到MySQL數(shù)據(jù)庫服務(wù)器,選擇數(shù)據(jù)庫 php_cn,設(shè)置數(shù)據(jù)庫的編碼格式為GB2312。具體代碼如下:

<?php
header("Content-Type:text/html; charset=utf-8");
$link = mysql_connect("localhost","root","root")or die("連接數(shù)據(jù)庫失敗".mysql_error());
mysql_select_db("php_cn",$link);
mysql_query("set names gb2312");   //設(shè)置編碼,防止發(fā)生亂發(fā)
?>

3.使用mysql_fetch_object()函數(shù)獲取查詢結(jié)果集中的數(shù)據(jù),其返回的值為一個對象:

<?php
header("Content-Type:text/html; charset=utf-8");
$sql = mysql_query("select from tb_book");       //執(zhí)行查詢語句
$info = mysql_fetch_object($sql);                 //獲取查詢結(jié)果,返回值為數(shù)組
if($_POST['Submit']=="查詢"){                    // 判斷按鈕的值是否為查詢
    $txt_book = $_POST['txt_book'];              //獲取文本框提交的值
    $sql = mysql_query("select * from tb_book where bookname like '%".trim($txt_book)."%'");  //執(zhí)行模糊查詢
    $info = mysql_fetch_array($sql);             // 獲取查詢結(jié)果
}
?>

4.使用 do...while循環(huán)語句,“結(jié)果列->列名”的方式輸出結(jié)果集中的圖文信息,代碼如下:

<?php
do {      //do...while 循環(huán)
    ?>
    <table>
        <tr align="left" bgcolor="#FFFFFF">
            <td height="20" align="center"><?php echo $info->id; ?></td>
            <td height="20" align="center"><?php echo $info->bookname; ?></td>
            <td height="20" align="center"><?php echo $info->data; ?></td>
            <td height="20" align="center"><?php echo $info->price; ?></td>
            <td height="20" align="center"><?php echo $info->maker; ?></td>
            <td height="20" align="center"><?php echo $info->publisher; ?></td>
        </tr>
    </table>
    <?php
}while($info = mysql_fetch_object($sql));
?>

輸出結(jié)果為:

38.png

該函數(shù)就介紹到這里,下一篇我們將介紹另外一個函數(shù),是逐行獲取結(jié)果集中的每條記錄,具體請閱讀《使用mysql_fetch_row()函數(shù)逐行獲取結(jié)果集中的每條記錄(PHP操作MySQL數(shù)據(jù)庫的方法六)》!

以上就是使用mysql_fetch_object()函數(shù)獲取結(jié)果集中一行作為對象(PHP操作MySQL數(shù)據(jù)庫的方法五)的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!


學(xué)習(xí)教程快速掌握從入門到精通的SQL知識。