PHP中的MySQLi扩展提供了一种与MySQL数据库进行交互的方法,通过使用MySQLi,你可以执行SQL查询,处理结果,以及管理数据库连接,以下是如何使用PHP中的MySQLi扩展来连接数据库的详细步骤。
确保你的服务器上已经安装了MySQL数据库,并且PHP的MySQLi扩展也已经启用,你可以在PHP的info页面查看已启用的扩展列表。
1、创建数据库连接
要连接到数据库,你需要创建一个新的MySQLi对象,这需要提供数据库服务器的地址、用户名、密码和数据库名称,以下是一个创建连接的基本示例:
$servername = "localhost"; // 数据库服务器地址
$username = "root"; // 数据库用户名
$password = ""; // 数据库密码
$dbname = "myDB"; // 数据库名称
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
2、执行SQL查询
一旦数据库连接成功创建,你就可以执行SQL查询了,以下是执行查询并获取结果的示例:
// SQL查询
$sql = "SELECT id, name FROM users";
// 执行查询
$result = $conn->query($sql);
// 检查查询是否成功
if ($result->num_rows > 0) {
// 输出每行的数据
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
}
} else {
echo "0 结果";
}
// 关闭结果集
$result->free();
3、插入、更新和删除数据
除了查询数据,MySQLi还允许你执行插入、更新和删除操作,以下是如何进行这些操作的示例:
// 插入数据
$insert_sql = "INSERT INTO users (name, email) VALUES ('John Doe', 'john@example.com')";
if ($conn->query($insert_sql) === TRUE) {
echo "新记录插入成功";
} else {
echo "Error: " . $insert_sql . "<br>" . $conn->error;
}
// 更新数据
$update_sql = "UPDATE users SET email = 'john.doe@example.com' WHERE id = 1";
if ($conn->query($update_sql) === TRUE) {
echo "记录更新成功";
} else {
echo "Error: " . $update_sql . "<br>" . $conn->error;
}
// 删除数据
$delete_sql = "DELETE FROM users WHERE id = 1";
if ($conn->query($delete_sql) === TRUE) {
echo "记录删除成功";
} else {
echo "Error: " . $delete_sql . "<br>" . $conn->error;
}
4、关闭数据库连接
在完成所有数据库操作后,关闭连接是一种良好的实践,可以释放资源,以下是如何关闭连接的示例:
// 关闭连接 $conn->close();
请注意,上面的示例使用了简单的字符串连接,这在生产环境中可能会导致SQL注入攻击,为了避免这种风险,建议使用预处理语句和参数绑定,MySQLi提供了mysqli_stmt类来实现这一点,还可以使用PDO(PHP Data Objects)扩展,它提供了一个数据库访问的统一接口,可以更容易地在不同的数据库系统之间切换。

