zoukankan      html  css  js  c++  java
  • 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     */
  • 相关阅读:
    React Native 开发豆瓣评分(三)集成 Redux
    React Native 开发豆瓣评分(二)路由配置
    React Native 开发豆瓣评分(一)环境搭建&配置模拟器
    VSCode 搭建 React Native 环境
    webpack4 + ejs 构建多页应用
    react-native 沉浸式状态栏
    react-native——tab配置及跳转
    uni-app 入门之 nvue (weex) 爬坑记
    javascript中bind()、call()、apply()的使用
    mysql数据库中文乱码配置文件解决以及常见mysql命令
  • 原文地址:https://www.cnblogs.com/sharecorner/p/6155179.html
Copyright © 2011-2022 走看看