PHP如何查询MySQL并返回数组

2025-01-14 23:10:13   小编

在PHP开发中,从MySQL数据库查询数据并以数组形式返回是一项常见的操作。这不仅能让开发者灵活处理和展示数据,也是构建动态网站和应用的基础。下面就详细介绍一下PHP如何查询MySQL并返回数组。

要建立与MySQL数据库的连接。使用PHP的mysqli或PDO扩展都可以实现。以mysqli为例,代码如下:

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "your_database_name";

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接
if ($conn->connect_error) {
    die("连接失败: ". $conn->connect_error);
}

连接成功后,就可以编写SQL查询语句。例如,要从名为“users”的表中查询所有数据:

$sql = "SELECT * FROM users";
$result = $conn->query($sql);

接下来,将查询结果转换为数组。mysqli提供了多种方法来实现。如果想获取关联数组,可以使用fetch_assoc()方法:

if ($result->num_rows > 0) {
    $data = [];
    while ($row = $result->fetch_assoc()) {
        $data[] = $row;
    }
    print_r($data);
} else {
    echo "没有找到数据";
}

上述代码中,fetch_assoc()每次从结果集中取出一行数据,并以关联数组的形式返回,然后将其添加到$data数组中。

另外,也可以使用fetch_all()方法一次性获取所有结果并转换为数组:

if ($result->num_rows > 0) {
    $data = $result->fetch_all(MYSQLI_ASSOC);
    print_r($data);
} else {
    echo "没有找到数据";
}

这里MYSQLI_ASSOC参数指定以关联数组形式返回数据。

使用PDO扩展时,操作思路类似但语法略有不同。首先建立连接:

try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
    echo "连接失败: ". $e->getMessage();
}

查询数据并获取数组:

$sql = "SELECT * FROM users";
$stmt = $conn->prepare($sql);
$stmt->execute();
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
print_r($data);

掌握PHP查询MySQL并返回数组的方法,能极大提升开发效率,无论是数据展示、数据处理还是与前端交互,都能更加得心应手。

TAGS: PHP与MySQL交互 返回数组 PHP查询MySQL MySQL查询操作

欢迎使用万千站长工具!

Welcome to www.zzTool.com