在 PHP 中,将数据库数据添加到数组的核心步骤包括:连接数据库、执行查询、遍历结果集并将每行数据存入数组。以下是详细实现方法和代码示例:
完整步骤说明连接数据库使用 mysqli_connect() 或 PDO 建立连接,需提供主机名、用户名、密码和数据库名。
执行查询通过 mysqli_query() 发送 SQL 语句(如 SELECT * FROM 表名)获取结果集。
遍历结果集用 while 循环配合 mysqli_fetch_assoc() 逐行提取关联数组。
存入数组将每行数据(关联数组)追加到预先定义的数组中。
关闭连接(可选)使用 mysqli_close() 释放资源(非必须,但推荐)。
代码示例(MySQLi 面向过程)<?php// 1. 连接数据库$conn = mysqli_connect("localhost", "root", "password", "database_name");if (!$conn) { die("连接失败: " . mysqli_connect_error());}// 2. 执行查询$result = mysqli_query($conn, "SELECT id, name, email FROM users");if (!$result) { die("查询失败: " . mysqli_error($conn));}// 3. 初始化数组并遍历结果集$dataArray = [];while ($row = mysqli_fetch_assoc($result)) { $dataArray[] = $row; // 将每行数据追加到数组}// 4. 输出结果(或进一步处理)print_r($dataArray);// 5. 关闭连接mysqli_close($conn);?>代码示例(PDO 面向对象)<?phptry { // 1. 连接数据库(PDO) $pdo = new PDO("mysql:host=localhost;dbname=database_name", "root", "password"); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // 2. 执行查询 $stmt = $pdo->query("SELECT id, name, email FROM users"); // 3. 获取所有数据到数组 $dataArray = $stmt->fetchAll(PDO::FETCH_ASSOC); // 4. 输出结果 print_r($dataArray);} catch (PDOException $e) { die("数据库错误: " . $e->getMessage());}?>关键注意事项- 错误处理:始终检查连接和查询是否成功,避免脚本中断。
- 资源释放:MySQLi 需手动关闭连接,PDO 依赖析构函数自动处理。
- 性能优化:大数据量时,fetchAll() 可能占用高内存,可改用 fetch() 逐行处理。
- 安全性:使用预处理语句(PDO/MySQLi)防止 SQL 注入。
输出结果示例Array( [0] => Array ( [id] => 1 [name] => Alice [email] => alice@example.com ) [1] => Array ( [id] => 2 [name] => Bob [email] => bob@example.com ))通过以上方法,您可以灵活地将数据库数据转换为 PHP 数组,便于后续处理或返回给前端。