首页 > PHP教程 > php开发知识文章

php 数据库PDO的预处理

本文实例讲述了php实现基于PDO的预处理。分享给大家供大家参考,具体如下:

预处理语句

对想要运行的 SQL语句进行预先处理,使用变量参数进行定制。预处理语句有两大好处:

查询仅需解析(或预处理)一次,但能用相同或不同的参数执行多次。当查询准备好后,数据库将分析、编译和优化执行该查询的计划。

对于复杂的查询,此过程要花费较长的时间,如果需要以不同参数多次重复相同的查询,那么该过程将大大降低应用程序的速度。

通过使用预处理语句,可以避免重复分析/编译/优化周期。预处理语句占用更少的资源,因而运行得更快。

提供给预处理语句的参数不需要用引号括起来,数据库驱动程序会自动处理。如果应用程序只使用预处理语句,能确保不会发生SQL 注入。

 

用预处理语句进行不同数据的重复插入
$servername = "localhost";
$username = "root";
$password = "123456";
$dbname = "php_user";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
//设置pdo错误异常处理
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//预处理SQL并绑定参数
$stmt = $conn->prepare("INSERT INTO user (user_first,user_last,age) VALUES
(:user_first,:user_last,:age)");
$stmt->bindParam(":user_first", $user_first);
$stmt->bindParam(":user_last", $user_last);
$stmt->bindParam(":age", $age);
//要执行的插入记录
$user_first = "liu";
$user_last = "aa";
$age = 12;
$stmt->execute();
//要执行的插入记录
$user_first = "liu";
$user_last = "a1";
$age = 23;
$stmt->execute();
echo "News record created successfully!";
} catch (PDOException $e) {
echo "Error:" . $e->getMessage();
}
$conn = null;

更多关于PHP相关专题:《PHP基于pdo操作数据库技巧总结》、《php+Oracle数据库程序设计技巧总结》、《PHP+MongoDB数据库操作技巧大全》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

以上就是本文php 数据库PDO的预处理的全部内容,希望本文所述对大家PHP程序设计有所帮助。

php 数据库PDO的预处理

关闭
感谢您的支持,我会继续努力!
扫码打赏,建议金额1-10元


提醒:打赏金额将直接进入对方账号,无法退款,请您谨慎操作。