迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 数据库 > MySQL >

循环 PHP MySQLi 获取数组函数

作者:迹忆客 最近更新:2024/03/25 浏览次数:

MySQLi fetch 函数用于从数据库服务器访问数据。获取数据后,你还可以遍历 MySQLi 查询。

在本文中,我们将看到 mysqli_fetch_array() 函数的使用以及迭代访问数据的方法。

这个扩展是在 PHP 5.0.0 版本中引入的,设计它的目的是与 MySQL 4.1.13 或更高版本一起工作。我们在本教程中使用 PHP 版本 7.4.1 和 phpMyAdmin。

你可以从其官方网站下载 XAMPP。 (如果你有 XAMPP,则不必单独安装 MySQL 和 PHP)。


迭代 mysqli_fetch_array() 函数

mysqli_fetch_array() 用于使用 $result 作为第一个参数从数据库中检索当前行的数据,将输出保存为关联数组、数值数组或两者(取决于第二个参数)。现在,我们的学生数据库中有以下数据。

mysqli_fetch_array() 函数使用 MYSQLI_NUM 模式

让我们编写以下程序,使用 mysqli_fetch_array() 函数从名为 db_students 的学生数据库中读取数据。以下代码将连接数据库并在失败时显示失败消息。

与数据库成功连接后,它将使用 mysqli_query 函数读取记录并将它们保存到 $result 变量中。mysqli_fetch_array() 将使用该结果变量和 MYSQLI_NUM(它的行为类似于 mysqli_fetch_row() 函数)作为参数,以将当前行显示为数字数组,其中索引范围从 0n-1

示例代码:

<?php
	$host = "localhost";
    $username = "root";
    $password = "";
	$database = "db_students";
	$connection = mysqli_connect($host, $username, $password, $database); 
   
    if (mysqli_connect_errno()) {
        echo "Database connection failed."; 
    }

    $sql = "SELECT * FROM tb_students";
	$result = mysqli_query($connection, $sql);
    $row = mysqli_fetch_array($result,MYSQLI_NUM);
    print_r($row)
?>

输出:

mysqli_fetch_array() 函数使用 MYSQLI_ASSOC 模式

在这里,由于参数 MYSQLI_ASSOCmysqli_fetch_array() 函数的行为类似于 mysqli_fetch_assoc(),并且表的列名将显示为数组的索引。练习以下代码并观察输出。

示例代码:

<?php
	
    $host = "localhost";
    $username = "root";
    $password = "";
	$database = "db_students";
	$connection = mysqli_connect($host, $username, $password, $database); 
   
    if (mysqli_connect_errno()) {
        echo "Database connection failed."; 
    }

    $sql = "SELECT * FROM tb_students";
	$result = mysqli_query($connection, $sql);
    $row = mysqli_fetch_array($result,MYSQLI_ASSOC);
    print_r($row)
?>

输出:

mysqli_fetch_array() 函数使用 MYSQLI_BOTH 模式

使用带有参数 MYSQLI_BOTHmysqli_fetch_array() 函数会将数据存储到我们可以使用列名和列索引访问的数组中。练习以下代码并查看输出。

示例代码:

<?php
    $host = "localhost";
    $username = "root";
    $password = "";
    $database = "db_students";
    $connection = mysqli_connect($host, $username, $password, $database); 

    if (mysqli_connect_errno()) {
        echo "Database connection failed."; 
    }

    $sql = "SELECT * FROM tb_students";
    $result = mysqli_query($connection, $sql);
    $row = mysqli_fetch_array($result,MYSQLI_BOTH);
    print_r($row)
?>

输出:

循环 mysqli_fetch_array() 函数

我们将使用以下代码迭代 mysqli_query 并将输出与学生表记录进行比较。

请记住,你可以循环 mysqli_fetch_array()MYSQLI_ASSOCMYSQLI_NUMMYSQLI_BOTH 的所有模式。使用 mysqli_fetch_array() 时,你必须将其作为参数传递。

<?php
    $host = "localhost";
    $username = "root";
    $password = "";
	$database = "db_students";
	$connection = mysqli_connect($host, $username, $password, $database); 
   
    if (mysqli_connect_errno()) {
        echo "Database connection failed."; 
    }

    $sql = "SELECT * FROM tb_students";
	$result = mysqli_query($connection, $sql);
        
    $std_num=0;
    while($row = mysqli_fetch_array($result,MYSQLI_ASSOC)) {
        echo "Student Number ".$std_num."<br>";
        echo "ID: ".$row['ID']."<br>";
        echo "First Name: ".$row['FIRST_NAME']."<br>";
        echo "Last Name: ".$row['LAST_NAME']."<br>";
        echo "Age: ".$row['AGE']."<br>";
        echo "<br><br>";
    	$std_num++;
    }
?>

输出:

你可以查看 IDFIRST_NAMELAST_NAMEAGE 并将其与名为 tb_students 的下表进行比较。


结论

上面的讨论得出结论,mysqli_fetch_array() 函数帮助我们从数据库中检索数据。

根据我们的需要和要求,我们可以使用它的输出模式,是否通过列索引或列名访问值,或两者兼而有之。然后,我们可以循环结果来查看表的每条记录。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

MySQL 中的减法运算

发布时间:2024/03/25 浏览次数:140 分类:MySQL

本教程将指导你如何在 MySQL 中模拟 MINUS 操作。它还通过不同的示例教你各种模拟 MINUS 操作的方法。

MySQL 中的安全模式

发布时间:2024/03/25 浏览次数:193 分类:MySQL

本教程帮助我们了解 MySQL 数据库中的安全模式。

MySQL 中的 MUL vs PRI vs UNI

发布时间:2024/03/25 浏览次数:190 分类:MySQL

本教程将指导你了解 MySQL 中 MUL、PRI 和 UNI 键之间的区别。它还强调了它们中的每一个的使用。

MySQL 中的 If ELSE

发布时间:2024/03/25 浏览次数:65 分类:MySQL

本教程演示如何在 MySQL 中使用 IF ELSE 语句。

在 MYSQL 中的一个查询中执行多个连接

发布时间:2024/03/25 浏览次数:161 分类:MySQL

本教程展示了如何在 MySQL 中的一个查询中合并多个连接;无论是内部的还是外部的。我们还展示了定义连接条件的不同方法。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便