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

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

在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 相关产品和应用

全部下载

专题列表