php中mysqli的预处理语句

avatar
作者
筋斗云
阅读量: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”(浮点数)等。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!