PHP 读取数据库110


在 PHP 中,读取数据库是常见且至关重要的操作。本文将详细介绍如何使用 PHP 的内置函数和类来从 MySQL 数据库中检索数据。

建立数据库连接

连接到数据库是读取数据的基础。使用 PHP 的 mysqli_connect() 函数可以建立连接。
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";
// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);
// 检查连接是否成功
if (!$conn) {
die("连接失败: " . mysqli_connect_error());
}

查询数据库

一旦建立连接,就可以使用 mysqli_query() 函数执行查询。
$sql = "SELECT * FROM table_name";
$result = mysqli_query($conn, $sql);

获取查询结果

查询执行后,可以使用 mysqli_fetch_assoc() 函数获取结果集中的每一行作为关联数组。循环遍历结果集以获取每行的值。
if ($result) {
while ($row = mysqli_fetch_assoc($result)) {
// 获取每一行的值
echo $row["column_name"];
}
} else {
echo "查询失败: " . mysqli_error($conn);
}

使用面向对象的方式读取数据

PHP 也提供了面向对象的方式来读取数据库。使用 mysqli_connect() 建立连接后,创建一个新的 mysqli 对象。
$conn = new mysqli($servername, $username, $password, $dbname);

然后使用 prepare() 和 execute() 方法准备并执行 SQL 查询。使用 get_result() 方法获取结果集,并使用 fetch_assoc() 方法获取每一行的关联数组。
$stmt = $conn->prepare("SELECT * FROM table_name");
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
// 获取每一行的值
echo $row["column_name"];
}

避免 SQL 注入攻击

在处理用户输入时,务必注意 SQL 注入攻击。使用 mysqli_real_escape_string() 函数转义用户输入的数据,以防止恶意代码注入。
$search_term = mysqli_real_escape_string($conn, $_GET["search_term"]);
$sql = "SELECT * FROM table_name WHERE column_name LIKE '%$search_term%'";

关闭数据库连接

在完成读取数据后,使用 mysqli_close() 函数关闭数据库连接,以释放资源。
mysqli_close($conn);

2024-10-25


上一篇:强制类型转换 PHP 字符串

下一篇:SQL 文件:使用 PHP 导入和导出数据库