阅读量:0
在 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”(浮点数)等。