MySQLi fetch_array() 函数详解
简介
在编写 PHP 程序时,经常需要将数据库中的数据进行读取和处理。MySQLi 是 PHP 提供的一种与 MySQL 数据库进行交互的扩展库,它提供了一系列的函数来实现数据库的连接、查询、插入、更新等操作。
其中,mysqli_fetch_array()
函数是 MySQLi 扩展库中的一个非常重要的函数,它用于从数据库中获取一行数据,并将其存储在一个数组中。在循环中使用该函数可以逐行地读取数据库查询结果集中的数据。
函数语法
mysqli_fetch_array($result, $resulttype)
$result
:由mysqli_query()
函数返回的结果集,它包含了一组数据行。$resulttype
:可选参数,指定返回的数组类型。默认为MYSQLI_BOTH
,表示返回一个包含关联索引和数字索引的数组;MYSQLI_ASSOC
表示返回一个关联索引数组;MYSQLI_NUM
表示返回一个数字索引数组。
示例代码
以下是一个示例代码,演示了如何使用 mysqli_fetch_array()
函数从数据库中读取数据,并将数据存储在一个数组中。
<?php
// 连接数据库
$servername = "localhost";
$username = "root";
$password = "password";
$dbname = "myDB";
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
// 查询数据
$sql = "SELECT id, name, age FROM users";
$result = mysqli_query($conn, $sql);
// 将数据存储在数组中
$users = array();
while ($row = mysqli_fetch_array($result)) {
array_push($users, $row);
}
// 输出数据
foreach ($users as $user) {
echo "ID: " . $user['id'] . ", Name: " . $user['name'] . ", Age: " . $user['age'] . "<br>";
}
// 关闭连接
mysqli_close($conn);
?>
以上代码通过连接到数据库,执行查询并将结果存储在 $result
中。然后,通过循环遍历 $result
,使用 mysqli_fetch_array()
函数将每一行数据存储在 $row
中,再通过 array_push()
函数将 $row
添加到 $users
数组中。最后,通过遍历 $users
数组输出每个用户的信息。
数据库关系图
下面是本示例中涉及到的数据库表的关系图。
erDiagram
CUSTOMER }|..|{ SALE : "购买"
CUSTOMER }|..|{ PRODUCT : "拥有"
SALE }|--|{ PRODUCT : "包含"
类图
下面是示例代码中涉及到的类的类图。
classDiagram
class MySQLi {
+__construct(host, username, password, dbname)
+query(sql)
+fetch_array(result, resulttype)
+close()
}
class Result {
+__construct(mysqli_result)
+fetch_array(resulttype)
}
总结
mysqli_fetch_array()
函数是一个非常有用的函数,可以帮助我们从 MySQL 数据库中读取数据并进行处理。在使用该函数时,需要先连接到数据库并执行查询语句,然后通过循环和 mysqli_fetch_array()
函数逐行读取数据。
需要注意的是,mysqli_fetch_array()
函数返回的数组可以通过关联索引或数字索引进行访问。此外,还可以通过指定第二个参数来控制返回的数组类型。
通过合理使用 mysqli_fetch_array()
函数,我们可以更加高效地处理数据库中的数据,从而提升程序的性能和可读性。
希望本文对你理解和使用 mysqli_fetch_array()
函数有所帮助!