用mysql_fetch_array()获取当前行数据的方法详解

yipeiwu_com6年前Mysql基础
同mysql_fetch_row()类似,函数mysql_fetch_array()也是获取结果集中当前行数据,并在调用后自动滑向下一行。其定义如下。
复制代码 代码如下:

array mysql_fetch_array(int result, int [result_type])

参数说明如下。
(1)result:由函数mysql_query()或mysql_db_query()返回的结果标识,用来指定所要获取的数据的SQL语句类型。
(2)result_type:用于指定结果集类型,可选,取值范围为PHP常量集合{MYSQL_ASSOC, MYSQL_NUM, MYSQL_BOTH}。
函数返回值如下。
成功:一个数组,该数组包含了查询结果集中当前行数据信息,数组下标范围0~记录属性数−1,数组中的第i个元素值为该记录第i个属性上的值。同时可以使用属性名来得到该属性上的值。
失败:false。
下面示例使用mysql_fetch_array()得到Computers数据表中价格不小于20的图书信息。
复制代码 代码如下:

1    <!----使用mysql_fetch_array()来获取数据:mysql_fetch_array.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_array()获得数据,并输出
12       while($row=mysql_fetch_array($result))
13       {
14            echo "书名:    ".$row[1]."<br>";
15            echo "价格:    ".$row["price"]."<br>";
16            echo "出版日期:    ".$row["publish_date"]."<br>";
17            echo "<br>";
18       }
19   ?>

示例在第12行使用mysql_fetch_array()获取当前行数据,然后在第12~18行的循环中分别使用属性索引和属性名获取这一行某属性上的值。从中不难看出,mysql_fetch_array()与mysql_fetch_row()的区别在于,前者返回数组中保存了结果集的两个备份,一个可以通过属性索引访问,另一个则可以通过属性名访问。
注意
当通过属性名访问属性上的值时,如果有几个属性的名相同,则索引在后的属性会把在前的属性值覆盖掉。因此,在使用属性名获得数据时,要避免查询结果集中属性重名。
示例运行的结果如下。
复制代码 代码如下:

书名: 数据结构
价格: 20
出版日期: 2001-01-01
书名: C语言
价格: 23
出版日期: 1998-04-04
书名: PHP入门技术
价格: 22
出版日期: 2005-05-01

相关文章

php+MySQL实现登录时验证登录名和密码是否正确

php+MySQL实现登录时验证登录名和密码是否正确

直入主题,先看php校验登录名和密码是否正确的代码: <?php $servername = "服务器名"; $username = "账户名"; $passw...

PHP程序员最常犯的11个MySQL错误小结

对于很多新手们来说,使用PHP可以在短短几个小时之内轻松地写出具有特定功能的代码。但是,构建一个稳定可靠的数据库却需要花上一些时日和相关技能。下面列举了我曾经犯过的最严重的11个MySQ...

PHP远程连接MYSQL数据库非常慢的解决方法

不知道如何解决,所以把他空间所在的服务器上也装了个MYSQL,才解决问题,今天又有个这个问题,不能也在这服务器上装一个MYSQL吧,Search: PHP远程连接MYSQL速度慢,有时远...

PHP操作MySQL事务实例

本文实例讲述了PHP操作MySQL事务的方法,分享给大家供大家参考。具体方法如下: 一般来说,事务都应该具备ACID特征。所谓ACID是Atomic(原子性),Consistent(一致...

PHP+MySQL实现消息队列的方法分析

本文实例讲述了PHP+MySQL实现消息队列的方法。分享给大家供大家参考,具体如下: 最近遇到一个批量发送短信的需求,短信接口是第三方提供的。刚开始想到,获取到手机号之后,循环调用接口发...