• PDO中的预处理


    PDO中的基本的原理和步骤和MySQL中的预处理都是一样的,只不过就是把MySQL中的预处理所有命令行的语法封装成了PDO对象的几个公开的方法而已!

    1.发送预处理语句

    此时,我们需要调用pdo对象的prepare方法,得到一个PDOStatement结果对象!

    2.绑定参数

    调用PDOStatement对象中的bindParam方法:

    3.执行预处理语句

    调用PDOStatement对象中的execute方法,如果执行成功,就返回true,如果执行失败就返回false!

    下面是代码

    <?php 
    
    /**
    * 利用PDO对象实现预处理操作
    */
    
    echo "<meta charset=utf-8>";
    
    //PDO类的实例化
    
    // 1 设置数据源相关参数
    $dbms = 'mysql';    //选择数据库类型
    $host = 'localhost';
    $port = '3306';
    $dbname = 'test';
    $charset = 'utf8';
    $dsn = "$dbms:host=$host;port=$port;dbname=$dbname;charset=$charset";
    
    // 2 设置用户名密码
    $user = 'root';
    $pwd = '';
    
    // 3 实例化PDO类
    $pdo = new PDO($dsn,$user,$pwd);
    
    // 4 预处理
    // 4.1 发送预处理
    $sql = "insert into pdo values(null, ?, ?)";
    $stmt = $pdo->prepare($sql);
    // 4.2 绑定参数
    // 先把每个参数保存到一个变量中
    $name = 'qqqq';
    $age = '45';
    //再使用bindParam方法绑定参数变量
    $stmt->bindParam(1,$name);    //1代表第一个数据占位符
    $stmt->bindParam(2,$age);
    
    // 4.3 执行预处理语句
    $res = $stmt->execute();
    if ($res) {
        echo "预处理语句执行成功!";
    }else{
        echo "预处理语句执行失败!";
    }

    先查一下数据库的数据

    执行上述代码之后,结果如下:

    绑定参数的其他方法

    1 使用 :变量名 作为数据占位符

    // 4 预处理
    // 4.1 发送预处理
    $sql = "insert into pdo values(null, :name, :age)";
    $stmt = $pdo->prepare($sql);
    // 4.2 绑定参数
    // 先把每个参数保存到一个变量中
    $name = 'qqqq';
    $age = '45';
    //再使用bindParam方法绑定参数变量
    $stmt->bindParam(':name',$name);    
    $stmt->bindParam(':age',$age);

    在对应位置修改为以上代码,其他代码不动

    结果如下

    2.使用数组绑定参数

    // 4 预处理
    // 4.1 发送预处理
    //$sql = "insert into pdo values(null, ?, ?)";
    $sql = "insert into pdo values(null, :name, :age)";
    $stmt = $pdo->prepare($sql);
    // 4.2 绑定参数
    // 把每个参数保存到一个变量中
    $name = 'qqqq';
    $age = '45';
    // 使用数组绑定参数
    $arr = array(
        ':name'  =>  $name,
        ':age'   =>  $age 
        );
    
    // 4.3 执行预处理语句
    $res = $stmt->execute($arr);

    在对应位置修改为以上代码,其他代码不动

    结果如下:

    上述为在PDO中使用预处理的几种方式,可以对比着上一篇“MySQL的预处理技术”记忆! 

  • 相关阅读:
    JavaScript 基础知识 4
    JavaScript 基础知识 5 函数
    JavaScript 基础知识 3
    JavaScript 基础知识 2
    JavaScript 基础知识 1
    JavaScript 一
    HTML <a>等元素
    HTML CSS
    HTML <head> 元素
    HTML <meta> 标签
  • 原文地址:https://www.cnblogs.com/zxf100/p/6818775.html
Copyright © 2020-2023  润新知