
在上一篇文章中讲到了要如何执行一条SQL语句,也就是调用mysqli_query() 函数,通过该函数我们已经能够查询到数据库的信息了,但是在我们的日常开发中还是需要对这一个结果进行处理才能够得到我们想要的信息。那接下来我们就看一下PHP中处理结果常用的几个函数吧。
mysqli_fetch_row() 函数
mysqli_fetch_row() 函数可以从结果集中取得一行,并以索引数组的形式返回,其语法格式如下:
mysqli_result::fetch_row()
这是面向对象的写法,面向过程的写法如下:
mysqli_fetch_row(mysqli_result $result)
其中需要注意的是: mysqli_result和 $result 表示为使用 mysqli_query() 函数获取的结果集。
接下来我们通过示例来看一下mysqli_fetch_row() 函数的用法,示例如下:
<?php
$host = 'localhost';
$username = 'root';
$password = 'root';
$dbname = 'test';
$mysql = new Mysqli($host, $username, $password, $dbname);
if($mysql -> connect_errno){
die('数据库连接失败:'.$mysql->connect_errno);
}else{
$sql = 'select name,sex,age from user'; // SQL 语句
$result = $mysql -> query($sql); // 执行上面的 SQL 语句
$data = $result -> fetch_row();
$mysql -> close();
}
echo '<pre>';
print_r($data);
?>输出结果:

上述示例中,通过mysqli_fetch_row() 函数成功查询到了数据库中的其中一行数据,并且是以索引数组的方式返回的。那接下来我们看一下不同的返回形式。
mysqli_fetch_assoc() 函数
mysqli_fetch_assoc() 函数可以从结果集中取得一行,并以关联数组的形式返回,该函数的语法格式如下:
mysqli_result::fetch_assoc()
这是其面向对象的语法格式写法,下面是起面向过程语法格式的写法:
mysqli_fetch_assoc(mysqli_result $result)
其中需要注意的是: mysqli_result和 $result 表示为使用 mysqli_query() 函数获取的结果集。
接下来我们通过示例来看一下mysqli_fetch_assoc() 函数的使用,示例如下:
<?php
$host = 'localhost';
$username = 'root';
$password = 'root';
$dbname = 'test';
$link = @mysqli_connect($host, $username, $password, $dbname);
if($link){
$sql = 'select name,sex,age from user'; // SQL 语句
$result = mysqli_query($link, $sql); // 执行 SQL 语句,并返回结果
$data = mysqli_fetch_assoc($result); // 从结果集中获取一条数据
mysqli_close($link);
}else{
echo '数据库连接失败!';
}
echo '<pre>';
print_r($data);
?>输出结果:

由上述示例,我们通过mysqli_fetch_assoc() 函数成功的获取了数据库中的一行信息并且通过关联数组的方式返回。我们也可以通过函数来控住返回数据的形式,让它可以是索引数组也可以是关联数组或者两者兼顾的形式,这时候我们就要用到mysqli_fetch_array() 函数。
mysqli_fetch_array() 函数
mysqli_fetch_array() 函数可以从结果集中取得一行,并根据参数以关联数组、索引数组或二者兼有的形式返回,它的语法格式如下:
mysqli_result::fetch_array([int $resulttype = MYSQLI_BOTH])
这是面向对象的语法方式,下面是面向过程的语法方式:
mysqli_fetch_array(mysqli_result $result[, int $resulttype = MYSQLI_BOTH])
其中需要注意的是:
mysqli_result和$result表示为使用 mysqli_query() 函数获取的结果集。$resulttype为可选参数,它是一个常量,用来设定返回值的类型,它的取值可以是MYSQLI_ASSOC、MYSQLI_NUM或MYSQLI_BOTH表示返回值的不同类型。
接下来我们通过示例来看一下mysqli_fetch_array() 函数的用法,示例如下:
<?php
$host = 'localhost';
$username = 'root';
$password = 'root';
$dbname = 'test';
$link = @mysqli_connect($host, $username, $password, $dbname);
if($link){
$sql = 'select name,sex,age from user'; // SQL 语句
$result = mysqli_query($link, $sql); // 执行 SQL 语句,并返回结果
$data = mysqli_fetch_array($result, MYSQLI_ASSOC);// 从结果集中获取所有数据
mysqli_close($link);
}else{
echo '数据库连接失败!';
}
echo '<pre>';
print_r($data);
?>输出结果:

上述示例中,我们选择了通过关联数组的形式来返回数据,我们通过mysqli_fetch_array() 函数可以选择返回值的不同类型。
mysqli_fetch_all() 函数
mysqli_fetch_all() 函数可以获取结果集中的所有数据,并根据参数以关联数组、索引数组或二者兼有的形式返回,它的语法格式如下:
mysqli_result::fetch_all([int $resulttype = MYSQLI_NUM])
这是面向对象的写法,下面是面向过程的写法:
mysqli_fetch_all(mysqli_result $result [, int $resulttype = MYSQLI_NUM])
其中需要注意的是:与mysqli_fetch_array() 函数的语法相同
mysqli_result和$result表示为使用 mysqli_query() 函数获取的结果集。$resulttype为可选参数,它是一个常量,用来设定返回值的类型,它的取值可以是MYSQLI_ASSOC、MYSQLI_NUM或MYSQLI_BOTH表示返回值的不同类型。
接下来通过示例来看一下mysqli_fetch_all() 函数的使用,示例如下:
<?php
$host = 'localhost';
$username = 'root';
$password = 'root';
$dbname = 'test';
$mysql = new Mysqli($host, $username, $password, $dbname);
if($mysql -> connect_errno){
die('数据库连接失败:'.$mysql->connect_errno);
}else{
$sql = 'select name,sex,age from user'; // SQL 语句
$result = $mysql -> query($sql); // 执行上面的 SQL 语句
$data = $result -> fetch_all(MYSQLI_ASSOC);
$mysql -> close();
}
echo '<pre>';
print_r($data);
?>输出结果:

上述示例中,便是通过mysqli_fetch_all() 函数选择以关联数组的形式返回所有的数据。
大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。
-
什么是因特网?它有什么作用?因特网的组成有哪些? 时间:2025-10-28 -
什么是因特网?什么是万维网?两者之间的区别是什么? 时间:2025-10-28 -
什么是局域网和广域网?两者之间的区别是什么? 时间:2025-10-28 -
什么是网络协议?常用的网络协议有哪些类型? 时间:2025-10-28 -
什么是网络协议? 它在网络中的作用是什么? 时间:2025-10-28 -
什么是网络协议?协议的三要素是什么?各有什么含义? 时间:2025-10-28
今日更新
-
2026年AI概念币投资指南 热门交易所权威推荐
阅读:18
-
十二星座是什么梗?揭秘星座爆笑名场面,一秒get你的专属笑点!
阅读:18
-
2026年十大热门Memecoin预测:DOGE、PEPE、WIF谁将登顶
阅读:18
-
"躺平摸鱼是什么梗?当代年轻人职场摆烂新姿势"
阅读:18
-
2026年去中心化AI代币TOP榜:FET与AGIX领衔未来趋势
阅读:18
-
2026年RWA代币TOP榜:ONDO、POLY、CFG领跑实物资产赛道
阅读:18
-
【SEO优化版】
"卷心菜兄是什么梗"揭秘网络热词背后打工人的自嘲式幽默,3秒get最新职场梗!
阅读:18
-
2026十大交易平台稳定性排名 币安欧易稳居榜首
阅读:18
-
王者荣耀十周年峡谷金曲玩家合唱版MV今日正式上线
阅读:18
-
2026全球最安全交易所排名 注册前必看权威指南
阅读:18










