PHP使用原生MySQL函数查询数据库并保存至数组

Miles
Miles
发布时间:2026-10-14| 5人浏览过
原创

在PHP开发中,有时需要将MySQL数据库的查询结果直接保存或遍历处理为数组。本文将展示如何利用经典的mysql_*系列函数(如mysql_fetch_assoc)实现从建立连接到获取数据的全过程,适用于维护旧系统或理解底层逻辑的场景。

核心原理与准备

该方法依赖于PHP的MySQL扩展。主要步骤包括:
1. 建立数据库连接。
2. 选择目标数据库。
3. 执行SQL查询。
4. 提取结果为关联数组。

mysql_fetch_assoc 是此处的关键函数,它从结果集中取得一行作为关联数组,其中字段名作为键名。每次调用指针会自动移向下一行。

操作步骤

第1步:配置连接参数并建立连接

首先定义数据库的用户名、密码和主机地址,然后尝试连接。

<?php
$UserName = 'abc';
$Password = '1234';
// 注意:实际环境中请替换为真实的凭据
$DbHandle = mysql_connect('localhost', $UserName, $Password);
if (!$DbHandle) {
    die('No database connection could be established.');
}

第2步:选择目标数据库

连接成功后,需指定要操作的数据库名称。此处以'w3db'为例,请注意原代码中可能存在的字符串引号遗漏,修复后应为标准字符串。

$DBName = 'w3db';
if (!mysql_select_db($DBName, $DbHandle)) {
    die('Database could not be selected.');
}

第3步:执行查询并获取结果数组

编写SQL语句,例如查询'articles'表中的ISBN、Title和Author。使用mysql_query执行查询,并返回结果资源。随后通过while循环配合mysql_fetch_assoc逐一获取数据存入变量或直接处理。

$Query = "SELECT ISBN, Title, Author FROM articles";
$articles = mysql_query($Query, $DbHandle);

// 初始化数组以便完整保存所有结果
$resultArray = array();

while ($Row = mysql_fetch_assoc($articles)) {
    // 这里可以将$Row追加到$resultArray中,或直接处理
    echo "ISBN = " . $Row['ISBN'] . "
\n"; echo "Title = " . $Row['Title'] . "
\n"; echo "Author = " . $Row['Author'] . "
\n"; // 如果需要保存到数组供后续使用: // $resultArray[] = $Row; }

完成判断与注意事项

当mysql_fetch_assoc返回false时,表示结果集已遍历完毕。此时所有可读取的数据均已进入程序控制流(无论是直接输出还是存入数组)。

重要提示:上述代码使用的是已废弃的mysql_*函数。在现代PHP版本(7.0+)中,这些函数已被移除。生产环境强烈建议使用mysqli或PDO扩展,以支持预处理语句(防止SQL注入)和新特性。

简要总结

通过使用mysql_connect建立链接、mysql_select_db选中库、mysql_query执行SQL,并利用mysql_fetch_assoc在循环中将每一行转化为关联数组,即可实现“PHP查询MySQL数据库并将结果保存到数组”的需求。虽然这是传统做法,但理解其数据流向有助于掌握更安全的现代数据库操作接口。

以上就是PHP查询MySQL数据库并将结果保存到数组的详细内容,更多关于PHP数据库编程的资料请关注本站其它相关文章!
相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。