PHP

php中mysqli的预处理语句

小樊
82
2024-09-26 22:11:29
栏目: 云计算

在 PHP 中,使用 MySQLi 的预处理语句可以提高性能并防止 SQL 注入攻击。预处理语句将参数与 SQL 查询分开,使得在执行查询时,参数值会自动转义,从而避免了 SQL 注入的风险。

以下是使用 MySQLi 预处理语句的示例:

<?php
// 创建数据库连接
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_dbname";

$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

// 预处理 SQL 查询
$stmt = $conn->prepare("INSERT INTO users (username, email) VALUES (?, ?)");

// 绑定参数
$stmt->bind_param("ss", $username, $email);

// 设置参数值
$username = "JohnDoe";
$email = "john.doe@example.com";

// 执行预处理语句
if ($stmt->
execute()) {
    echo "新记录插入成功";
} else {
    echo "Error: " . $stmt->error;
}

// 关闭预处理语句和数据库连接
$stmt->close();
$conn->close();
?>

在这个示例中,我们首先创建了一个到 MySQL 数据库的连接。然后,我们使用 prepare() 方法创建一个预处理语句,该语句将插入一条新的用户记录。接下来,我们使用 bind_param() 方法将参数与 SQL 查询中的占位符绑定。最后,我们设置参数值并执行预处理语句。

注意:在这个示例中,我们使用了两个占位符 “ss”,分别表示两个参数都是字符串类型。根据你的需求,你可以使用其他类型的占位符,例如 “is”(整数)、“d”(浮点数)等。

0
看了该问题的人还看了