PHP 直接查询数据库155


在 PHP 中,我们可以使用 MySQLi 或 PDO 等扩展来直接查询数据库。本文将重点介绍使用 MySQLi 扩展进行数据库查询。

连接到数据库

首先,我们需要连接到数据库。我们可以使用以下代码来建立连接:```php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";
// 创建一个 MySQLi 连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接是否成功
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
```

执行查询

连接到数据库后,我们可以使用 mysqli_query() 函数来执行查询。该函数接受两个参数:连接对象和查询字符串。```php
// 执行查询
$result = $conn->query("SELECT * FROM table_name");
// 检查查询是否成功
if (!$result) {
die("查询失败: " . $conn->error);
}
```

获取查询结果

查询执行成功后,我们可以使用 mysqli_fetch_assoc() 函数来获取查询结果。该函数从结果集中返回一行数据,并以关联数组的形式存储。```php
// 获取查询结果
$row = $result->fetch_assoc();
// 输出查询结果
echo "ID: " . $row["id"] . "
";
echo "姓名: " . $row["name"] . "
";
```

循环查询结果

如果查询返回多个结果,我们可以使用循环来遍历它们。我们可以使用 mysqli_fetch_all() 函数将所有结果存储到一个数组中,然后使用 foreach 循环遍历数组。```php
// 获取查询结果
$results = $result->fetch_all(MYSQLI_ASSOC);
// 循环查询结果
foreach ($results as $row) {
echo "ID: " . $row["id"] . "
";
echo "姓名: " . $row["name"] . "
";
}
```

使用占位符

为了防止 SQL 注入攻击,我们可以使用占位符来准备我们的查询。占位符用问号 (?) 表示,并使用 mysqli_stmt_prepare() 函数进行准备。```php
// 准备查询
$stmt = $conn->prepare("SELECT * FROM table_name WHERE id = ?");
// 绑定参数
$stmt->bind_param("i", $id);
// 执行查询
$stmt->execute();
// 获取查询结果
$result = $stmt->get_result();
```

关闭连接

查询完成后,我们应该关闭连接以释放资源。我们可以使用 mysqli_close() 函数来关闭连接。```php
// 关闭连接
$conn->close();
```

2024-11-22


上一篇:PHP 列出当前目录中的所有文件:简洁指南

下一篇:PHP 判断字符串是否相同