深入分析使用mysql_fetch_object()以对象的形式返回查询结果

mysql_fetch_object()同样用于获取查询数据结果集,返回当前行数据,并自动滑向下一行。但与mysql_fetch_row()和mysql_fetch_array()不同的是,它返回的是一个对象,这个对象的属性集合即为数据的属性集合,而属性上的值则为数据库中当前行该属性上的值。函数定义如下。

  

复制代码 代码如下:

  object mysql_fetch_object( int result, int [result_type])

  参数说明同mysql_fetch_array()。

  返回值如下。

  成功:一个对象,该对象的属性名对应于结果集中的属性名,属性的值就是结果集中对应的属性值。

  失败:false。

  下面是使用mysql_fetch_object()的示例:查询数据表Computers中的图书信息。

  

复制代码 代码如下:

  1    <!---使用mysql_fetch_object()来获取数据:mysql_fetch_object.php--->

  2    <?php

  3        //连接并选择到数据库服务器

  4        $connection = mysql_connect ("localhost", "root", "password");

  5        mysql_select_db("Books", $connection);

  6        //查询数据

  7        $query="SELECT * FROM Computers ";

  8        $query.="WHERE price >= 20";

  9        //echo $query."<br>";

  10       $result=mysql_query($query,$connection);

  11       //mysql_fetch_object()获得数据,并输出

  12       while($row=mysql_fetch_object($result))

  13       {

  14            echo "书名:    ".$row->name."<br>";

  15            echo "价格:    ".$row->price."<br>";

  16            echo "出版日期:    ".$row->publish_date."<br>";

  17            echo "<br>";

  18       }

  19    ?>

  示例在第12行使用mysql_fetch_object()获取当前行的数据,并通过12~18行的循环将之输出。在输出过程中,通过对象运算符“->”获得该行数据在其属性上的值。

  示例运行的结果如下。

  

复制代码 代码如下:

  书名: 数据结构

  价格: 20

  出版日期: 2001-01-01

  书名: C语言

  价格: 23

  出版日期: 1998-04-04

  书名: PHP入门技术

  价格: 22

  出版日期: 2005-05-01