📜  MySQLi-有用的功能(1)

📅  最后修改于: 2023-12-03 14:44:31.370000             🧑  作者: Mango

MySQLi-有用的功能

MySQLi 是 PHP 中的一个数据扩展库,用于访问和操作 MySQL 数据库。MySQLi 是 MySQL 官方驱动程序的改进版本,提供了更好的性能和安全性。MySQLi 支持面向对象和面向过程的程序设计方法,可用于创建可靠的数据库应用程序。

以下是一些 MySQLi 中非常有用的功能:

连接到 MySQL 数据库

首先,我们需要建立与 MySQL 数据库的连接。可以使用以下代码创建一个新的 MySQLi 对象,在连接到数据库时传递主机名、用户名、密码和数据库名。

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "my_database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: " . $mysqli->connect_error;
    exit();
}
?>
查询数据

可以使用 query() 函数执行 SQL 查询。query() 方法接受 SQL 查询语句作为参数,并将查询结果作为 mysqli_result 对象返回。以下是一个简单的例子:

<?php
$result = $mysqli->query("SELECT * FROM users");
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "ID: " . $row["id"]. " - Name: " . $row["name"]. " - Email: " . $row["email"]. "<br>";
    }
} else {
    echo "0 results";
}
?>
预处理查询

预处理语句使用参数化查询来保护应用程序免受 SQL 注入攻击。以下是一个预处理查询的例子:

<?php
$stmt = $mysqli->prepare("SELECT * FROM users WHERE id=?");
$stmt->bind_param("i", $id);
$id = 1;
$stmt->execute();
$result = $stmt->get_result();
if ($result->num_rows > 0) {
  while($row = $result->fetch_assoc()) {
    echo "ID: " . $row["id"]. " - Name: " . $row["name"]. " - Email: " . $row["email"]. "<br>";
  }
} else {
  echo "0 results";
}
?>
更新数据

使用 UPDATE 语句更新表中的数据。以下是一个简单的例子:

<?php
$sql = "UPDATE users SET name='John' WHERE id=1";
if ($mysqli->query($sql) === TRUE) {
    echo "Record updated successfully";
} else {
    echo "Error updating record: " . $mysqli->error;
}
?>
删除数据

使用 DELETE 语句删除表中的数据。以下是一个简单的例子:

<?php
$sql = "DELETE FROM users WHERE id=1";
if ($mysqli->query($sql) === TRUE) {
    echo "Record deleted successfully";
} else {
    echo "Error deleting record: " . $mysqli->error;
}
?>
关闭连接

最后,当我们完成操作时,最好关闭与数据库的连接。可以使用以下代码关闭连接:

<?php
$mysqli->close();
?>

尽管 MySQLi 提供了许多有用的功能,但使用之前务必要谨慎。确保您熟悉您的应用程序和安全需求,以便选择正确的 MySQLi 功能。