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中提取字符串的全面指南
Python数据可视化实战:从基础到高级,绘制精美散点图的完整指南
https://www.shuihudhg.cn/134388.html
Java数组反转储存:深度解析与多种高效实现策略
https://www.shuihudhg.cn/134387.html
深入理解Java `char`类型:字符表示、精度与Unicode挑战
https://www.shuihudhg.cn/134386.html
PHP 数组深度解析:从声明、初始化到高级应用与最佳实践
https://www.shuihudhg.cn/134385.html
Java中SUB字符(ASCII 26)的深度解析与实战处理指南
https://www.shuihudhg.cn/134384.html
热门文章
在 PHP 中有效获取关键词
https://www.shuihudhg.cn/19217.html
PHP 对象转换成数组的全面指南
https://www.shuihudhg.cn/75.html
PHP如何获取图片后缀
https://www.shuihudhg.cn/3070.html
将 PHP 字符串转换为整数
https://www.shuihudhg.cn/2852.html
PHP 连接数据库字符串:轻松建立数据库连接
https://www.shuihudhg.cn/1267.html