mysqli
是 PHP 中用于与 MySQL 数据库进行交互的扩展。预处理技术(Prepared Statements)是一种在执行 SQL 查询之前,先将查询模板准备好,然后绑定参数并执行的技术。这种技术可以有效防止 SQL 注入攻击,并提高查询性能。
以下是一个使用 mysqli
预处理技术的示例代码:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 准备 SQL 语句
$stmt = $conn->prepare("SELECT id, firstname, lastname FROM MyGuests WHERE firstname = ?");
if (!$stmt) {
die("准备语句失败: " . $conn->error);
}
// 绑定参数
$firstname = "John";
$stmt->bind_param("s", $firstname);
// 执行查询
$stmt->execute();
// 绑定结果变量
$stmt->bind_result($id, $firstname, $lastname);
// 获取结果
while ($stmt->fetch()) {
echo "id: " . $id . " - Name: " . $firstname . " " . $lastname . "<br>";
}
// 关闭语句
$stmt->close();
// 关闭连接
$conn->close();
?>
通过以上方法,可以有效利用 mysqli
预处理技术来提高 PHP 应用的安全性和性能。
领取专属 10元无门槛券
手把手带您无忧上云