PHP 中使用 MySQLi 数据库连接的全面指南324


MySQLi(面向对象的 MySQL 接口)是 PHP 中用于连接和操作 MySQL 数据库的扩展。它提供了一套对象化和过程化的 API,使开发人员能够方便、高效地管理数据库连接和查询。

先决条件
PHP 5.3 或更高版本
MySQL 5.5 或更高版本

安装 MySQLi 扩展

默认情况下,MySQLi 扩展不包含在 PHP 安装中。要安装它,请使用以下命令:```bash
sudo apt-get install php-mysqli
```

连接到数据库

要使用 MySQLi 连接到数据库,请执行以下步骤:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "myDB";
// 创建数据库连接
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("连接失败:" . $conn->connect_error);
}
?>

执行查询

连接到数据库后,就可以使用 mysqli_query() 函数执行查询。该函数返回一个 mysqli_result 对象,代表查询结果。
<?php
// 执行查询
$result = $conn->query("SELECT * FROM myTable");
if ($result->num_rows > 0) {
// 遍历结果集中的每一行
while($row = $result->fetch_assoc()) {
echo "ID: " . $row["id"] . ", Name: " . $row["name"] . "<br>";
}
} else {
echo "没有记录找到";
}
?>

插入数据

要插入数据,可以使用 mysqli_query() 函数执行 INSERT 查询。
<?php
// 准备插入语句
$stmt = $conn->prepare("INSERT INTO myTable (name, email) VALUES (?, ?)");
// 绑定参数
$stmt->bind_param("ss", $name, $email);
// 设置参数值
$name = "John Doe";
$email = "@";
// 执行查询
$stmt->execute();
// 获取插入的 ID
$last_id = $stmt->insert_id;
// 关闭语句
$stmt->close();
?>

更新数据

要更新数据,可以使用 mysqli_query() 函数执行 UPDATE 查询。
<?php
// 准备更新语句
$stmt = $conn->prepare("UPDATE myTable SET name = ? WHERE id = ?");
// 绑定参数
$stmt->bind_param("si", $name, $id);
// 设置参数值
$name = "Jane Doe";
$id = 1;
// 执行查询
$stmt->execute();
// 关闭语句
$stmt->close();
?>

删除数据

要删除数据,可以使用 mysqli_query() 函数执行 DELETE 查询。
<?php
// 执行删除查询
$result = $conn->query("DELETE FROM myTable WHERE id = 1");
if ($result->affected_rows > 0) {
echo "记录已删除";
} else {
echo "没有记录被删除";
}
?>

关闭连接

完成与数据库的交互后,必须关闭连接以释放资源。
<?php
// 关闭数据库连接
$conn->close();
?>

最佳实践
使用准备语句防止 SQL 注入攻击。
使用事务来确保数据一致性。
在不使用时关闭连接。
妥善处理错误和异常。
为敏感数据使用加密。


MySQLi 是 PHP 中连接和操作 MySQL 数据库的强大工具。通过遵循本文中概述的步骤和实践,开发人员可以建立稳健可靠的数据库连接并高效地管理数据。

2024-10-24


上一篇:PHP 中高效序列化和反序列化数组

下一篇:PHP中提取字符串的全面指南