技术文摘
PHP mysqli 用法全面解析
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用法