PHP之pdo的预处理模式

 1 <?php
 2 
 3     /*
 4         PDO&PDOSstatement
 5             PDO:常规操作类。
 6             PDOStatement PDO语句结果集类,sql执行完毕,后续处理结果集时候,用PDOStatement
 7         预编译+数据绑定+执行
 8         
 9 
10 
11     */
12 
13     $sql = "SELECT * FROM `article` WHERE `id` =? ";        
14     //预编译
15     $prepare_res = $pdo->prepare($sql);
16     //绑定参数
17     $prepare_res->bindValue(1,1); //第一个1是第一个参数,第二个1是需要的值
18     //执行
19     $prepare_res->execute();
20 
21     $res_info = $prepare_res->fetch(PDO::FETCH_ASSOC);
22     var_dump($res_info);
23 
24     /*
25         预编译+数据绑定+执行
26         优势:将语句的结构部分优先编译,结构部分指的是,将数据使用占位符进行替换,先进性编译; 再进行数据绑定,将数据绑定到编译好的SQL结构上。
27         
28         好处:1,更好的防止sql注入。结构和数据分离,可以从根本上解决sql注入问题。结构在数据绑定前,已经确定了。2,如果结构相同的sql被重复执行,只需要编译结构一次,后续直接进行数据绑定即可。体现代码的重用。
29         bindValue(占位符|标签占位符,值,数据类型) 数据类型:PDO::PARAM_INT PDO::PARAM_STR
30 
31         PDOStamement对象常用的方法:
32             $pdoStatement->fetchAll()
33             $pdoStatement->fetch()
34             $pdoStatement->fetchColumn()
35             $pdoStatement->bindValue()
36             $pdoStatement->execute()
37             $pdoStatement->errorCode()
38             $pdoStatement->errorInfo()
39 
40             $pdoStatement->coloseCursor() //用于释放结果集光标(指针)
41             tips:在获取完数据后,最好调用该方法,释放结果集指针
42 
43             如果结果集中,存在多条数据,但是仅仅fetch其中部分,没有全部获取,此时如果需要处理新的结果集,一定要释放之前的结果集指针。
44 
45             $pdoStatement->rowCount(); //统计行数,兼结果集中记录数与影响的行数功能。
46 
47     */
原文地址:https://www.cnblogs.com/sharecorner/p/6155179.html