PHP mysqli 用法全面解析

2025-01-15 02:09:35   小编

PHP mysqli 用法全面解析

在 PHP 开发中,与数据库进行交互是非常关键的一部分,而 mysqli 扩展为开发者提供了强大的工具来处理 MySQL 数据库。本文将全面解析 mysqli 的用法。

连接数据库

使用 mysqli 首先要建立与数据库的连接。通过 mysqli 类的构造函数来实现:

$mysqli = new mysqli("localhost", "username", "password", "database_name");
if ($mysqli->connect_error) {
    die("连接失败: ". $mysqli->connect_error);
}

这里传入主机名、用户名、密码和数据库名,连接成功后就可以对数据库进行操作了。

执行查询

执行 SELECT 查询

执行 SELECT 查询可以使用 query 方法。例如:

$result = $mysqli->query("SELECT * FROM users");
if ($result) {
    while ($row = $result->fetch_assoc()) {
        echo $row['username']. "<br>";
    }
    $result->free();
}

query 方法返回一个结果集对象,通过 fetch_assoc 方法逐行获取数据,最后使用 free 方法释放结果集占用的内存。

执行 INSERT、UPDATE 和 DELETE 查询

对于 INSERT、UPDATE 和 DELETE 查询,同样使用 query 方法。例如插入数据:

$sql = "INSERT INTO users (username, email) VALUES ('John', 'john@example.com')";
if ($mysqli->query($sql) === TRUE) {
    echo "新记录插入成功";
} else {
    echo "错误: ". $sql. "<br>". $mysqli->error;
}

成功执行后会返回 TRUE,否则可以通过 error 属性获取错误信息。

预处理语句

预处理语句能有效防止 SQL 注入攻击。例如插入数据的预处理语句:

$stmt = $mysqli->prepare("INSERT INTO users (username, email) VALUES (?,?)");
$stmt->bind_param("ss", $username, $email);
$username = "Jane";
$email = "jane@example.com";
$stmt->execute();
$stmt->close();

首先使用 prepare 方法准备 SQL 语句,然后通过 bind_param 方法绑定参数,最后执行 execute 方法。

关闭连接

操作完成后,需要关闭与数据库的连接,释放资源:

$mysqli->close();

掌握 PHP mysqli 的这些用法,能让开发者在数据库操作方面更加得心应手,确保应用程序高效、安全地运行。无论是小型项目还是大型系统,合理运用 mysqli 扩展都能提升开发效率和系统性能。

TAGS: 数据库交互 PHP数据库操作 PHP mysqli mysqli用法

欢迎使用万千站长工具!

Welcome to www.zzTool.com