php入门pdo的使用--pdo 预处理

先创建用来连接数据库的文件:

<?php 
    try{
        $dsn = "mysql:dbname=classphp;host=127.0.0.1";
        $username = "root";
        $pwd = "";
        $pdo = new PDO($dsn,$username,$pwd);
        $pdo -> setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
    }catch(PDOException $e){
        $e -> getMessage();
        $e -> getLine();
        $e -> getCode();
        $e -> getFile();
    }
?>

创建完成后include到使用的文件中,并通过使用pdo对象来使用预处理绑定语句:

<?php
    include("pdo.php");
    try{
        $sql = "INSERT INTO PERSON(username,pwd,email) VALUE(?,?,?)";//?是占位符
        $stmt = $pdo -> prepare($sql);
        $stmt -> bindParam(1,$username);
        $stmt -> bindParam(2,$pwd);
        $stmt -> bindParam(3,$email);
        $username = "jixue1993";
        $pwd = md5(5432);
        $email = "2394562735@qq.com";
        var_dump($stmt);
        $return = $stmt ->execute();
        
        // $pwd = md5(123456);
        // //execute 可以用这个方法直接传参,不需要使用绑定参数
        // $stmt -> execute(array("user5",$pwd,"23348923@qq.com")); 
    }
    catch(PDOException $e){
        $e -> getMessage();
        $e -> getLine();
        $e -> getCode();
        $e -> getFile();
    }
?>

也可以不实用绑定的方式,而直接传参:

<?php
    include("pdo.php");
    try{
        $sql = "INSERT INTO PERSON(username,pwd,email) VALUE(?,?,?)";//?是占位符
        $stmt = $pdo -> prepare($sql);
        $pwd = md5(123456);
        //execute 可以用这个方法直接传参,不需要使用绑定参数
        $stmt -> execute(array("user5",$pwd,"23348923@qq.com")); 
    }
    catch(PDOException $e){
        $e -> getMessage();
        $e -> getLine();
        $e -> getCode();
        $e -> getFile();
    }
?>

使用别名的方式进行预处理:

<?php
    include("pdo.php");
    try{
        $sql = "INSERT INTO PERSON(username,pwd,email) VALUE(:username,:pwd,:email)";//?是占位符
        $stmt = $pdo -> prepare($sql);
        $stmt -> bindParam(":username",$username);
        $stmt -> bindParam(":pwd",$pwd);
        $stmt -> bindParam(":email",$email);
        $username = "user1";
        $pwd = md5(123456);
        $email = "18868831752@163.com";
        $stmt -> execute();
    }
    catch(PDOException $e){
        $e -> getMessage();
        $e -> getLine();
        $e -> getCode();
        $e -> getFile();
    }
?>

使用execute中直接传输数组的方式,实现预处理:

<?php
    include("pdo.php");
    try{
        $sql = "INSERT INTO PERSON(username,pwd,email) VALUE(:username,:pwd,:email)";//?是占位符
        $stmt = $pdo -> prepare($sql);
        $pwd = md5(12345);
        $array = array("username" => "user2","pwd" => $pwd,"email" => "2394562735@qq.com");
        $stmt -> execute($array);
    }
    catch(PDOException $e){
        $e -> getMessage();
        $e -> getLine();
        $e -> getCode();
        $e -> getFile();
    }
?>

使用预处理来实现select操作,并对结果集进行处理:

<?php
    include("pdo.php");
    try{
        $sql = "SELECT * FROM PERSON WHERE id > :id";
        $stmt = $pdo -> prepare($sql);
        $stmt -> execute($_GET);
        $users = $stmt -> fetchAll(PDO::FETCH_ASSOC);
        var_dump($users);
    }
    catch(PDOException $e){
        $e -> getMessage();
        $e -> getLine();
        $e -> getCode();
        $e -> getFile();
    }
?>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,001评论 19 139
  • 一、 PDO类的构造方法: -------------------------------------------...
    liudai123阅读 481评论 0 0
  • pdo基本使用 【PDO是啥】 PDO是PHP 5新加入的一个重大功能,因为在PHP 5以前的php4/php3都...
    桖辶殇阅读 1,359评论 0 4
  • Php:脚本语言,网站建设,服务器端运行 PHP定义:一种服务器端的HTML脚本/编程语言,是一种简单的、面向对象...
    廖马儿阅读 2,204评论 2 38
  • 气体膨胀过程中分子扩散不受外界阻碍。
    孔李聃丘阅读 258评论 0 1