mysqli
是 PHP 中的一个扩展,用于与 MySQL 数据库进行交互。它提供了面向对象和过程式的 API,使得开发者可以方便地执行 SQL 查询、处理结果集、管理事务等。
mysqli
是对 MySQL 数据库原生协议的封装,性能较高。mysqli
主要有两种使用方式:
mysqli
类及其方法。mysqli_*
函数。mysqli
适用于需要与 MySQL 数据库进行交互的 PHP 应用,如 Web 应用、API 服务等。
mysqli_connect(): (HY000/1045): Access denied for user 'username'@'localhost' (using password: YES)
原因:数据库用户名或密码错误,或者该用户没有访问权限。
解决方法:
$conn = mysqli_connect("localhost", "username", "password", "database");
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
mysqli::query(): Couldn't fetch mysqli
原因:数据库连接已关闭或未正确初始化。
解决方法:
$conn = mysqli_connect("localhost", "username", "password", "database");
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$result = $conn->query("SELECT * FROM table_name");
if ($result) {
while ($row = $result->fetch_assoc()) {
// 处理结果集
}
$result->free();
}
$conn->close();
mysqli::prepare(): Couldn't fetch mysqli
原因:数据库连接已关闭或未正确初始化。
解决方法:
$conn = mysqli_connect("localhost", "username", "password", "database");
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$stmt = $conn->prepare("SELECT * FROM table_name WHERE id = ?");
$stmt->bind_param("i", $id);
$id = 1;
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
// 处理结果集
}
$stmt->close();
$conn->close();
通过以上信息,您可以更好地理解 mysqli
的基础概念、优势、类型、应用场景以及常见错误的解决方法。希望这些信息对您有所帮助。
领取专属 10元无门槛券
手把手带您无忧上云