php mysqli_fetch_array()函数读取结果集数据实例

时间:2016-07-16
php mysqli_fetch_array函数以索引数组或关联数组的方式读取结果集中当前的一行,本文章向大家介绍mysqli_fetch_array()函数的使用方法和实例,需要的朋友可以参考一下。

mysqli_fetch_array()介绍

mysqli_fetch_array函数以索引数组或关联数组或者是两者兼容的方式读取结果集中当前的一行。如果返回的是关联数组,数组的字段名是区分大小写的。

语法:

mysqli_fetch_array(result,outputtype);

参数:

参数 描述
result 必需。结果集标识符,一般是由mysqli_query()函数执行所返回的结果。
outputtype 可选。设置以什么数组方式返回。有三种数组方式:
  • MYSQLI_ASSOC  关联数组
  • MYSQLI_NUM    索引素组
  • MYSQLI_BOTH   二者兼容(关联数组和索引数组)

mysqli_fetch_array()实例

我们大家都知道mysqli扩展类可以分为两种方式进行数据库操作,面向对象方式和面向过程方式,因此本文章将使用这两种方法分别对mysqli_fetch_array()函数进行实例讲解。

1、mysqli_fetch_array()面向对象

<?php
//创建一个mysqli类,并连接数据库服务器,该函数有四个参数,依次为:数据库服务器地址,登录名,密码,需要操作的数据库名称。
/*   http://www.manongjc.com/article/1191.html   */
$mysqli = new mysqli('localhost','root','manongjc','mydb_name');

//判断数据库服务器是否正确连接,如果没有连接上,die掉并输出提示信息和连接错误码
if (mysqli_connect_errno()){
	die('无法连接数据库服务器'). mysqli_connect_error();
}

//需要执行的sql语句
$query = "SELECT userid, username, pwd FROM user ORDER BY userid";

//$mysqli->query使用面向对象的方法执行sql
$result = $mysqli->query($query);

//$result->fetch_row()依次读取结果集中的每一行数据,因为我们使用的是面向对象编程,所有不是使用mysqli_fetch_array函数,而是使用fetch_row()。
while ($row = $result->fetch_array(MYSQLI_ASSOC))
{
    //因为使用的是关联数组方式获取每一行数据,所以只能使用关联数组的方法读取数据,不能使用索引的方式读取数据。
    $username = $row['username'];
    $userid = $row['userid'];
    $pwd = $row['pwd'];
    echo "($userid) $username: $pwd<br />";
}
//关闭数据库连接
$mysqli->close(); 
?>

2、mysqli_fetch_array()面向过程

<?php 
/*   http://www.manongjc.com   */
//使用mysqli_connect函数连接数据库服务器
$con=mysqli_connect("localhost","root","123456","mydb"); 
if (mysqli_connect_errno($con)) //判断是否连接上数据库服务器
{ 
    echo "连接数据库服务器失败 " . mysqli_connect_error(); 
} 

$query = "SELECT productid, name, price FROM product ORDER BY name";

//使用mysqli_query函数执行sql,第一个参数是连接标识符,第二个参数是SQL语句,该函数最终返回一种资源类型
$result = mysqli_query($con,$query);

//使用mysqli_fetch_array函数读取结果集数据,这里使用的是兼容性数组(即关联数组和索引数组)
while($row=mysqli_fetch_array($result)){
    $name = $row[1];//也可以这样获取:$name = $row['name'];
    $productid = $row[0];//也可以这样获取:$name = $row['productid '];
    $price = $row[2];//也可以这样获取:$name = $row['price'];
    echo "($productid) $name: $price <br />";
}
//释放结果集
mysqli_free_result($result);
//断开服务器连接
mysqli_close($con);
?>

上面两个实例源码都有代码注释,大家可以仔细阅读一下,对自己的数据库编程应该有很大的提升。