博客列表 >PDO之预处理操作

PDO之预处理操作

深海巨兽皮皮虾的博客
深海巨兽皮皮虾的博客原创
2018年04月06日 09:35:151306浏览

    PDO预处理之读操作:

$dsn = "mysql:host=localhost;dbname=demo;charset=utf8";
$pdo = new PDO($dsn,'root','root');
$sql = "SELECT `id`,`name`,`email` FROM user1 WHERE `id`=:id";
//1.准备SQL语句,生成对象
$pdoStmt = $pdo->prepare($sql);
if(true == $pdoStmt){
//    $res = $pdoStmt->execute(['id'=>2]);
    $id = 5;
    //2.绑定参数
    $pdoStmt->bindParam('id',$id);
    //3.执行
    $res = $pdoStmt->execute();
    if($res){
        //判断结果集数量
        if($pdoStmt->rowCount()>0){
//            print_r($pdoStmt->fetch(PDO::FETCH_ASSOC));
            //设置取出方式,关联数组
            $pdoStmt->setFetchMode(PDO::FETCH_ASSOC);
            //取出数据
            print_r($pdoStmt->fetch());
        }
    }
}

    PDO之写操作(以新增为例):

$dsn = "mysql:host=localhost;dbname=demo;charset=utf8";
$pdo =  new PDO($dsn,'root','root');
$sql = "INSERT user1 SET `name`=:name,`email`=:email,`password`=sha1(:password)";
$pdoStmt = $pdo->prepare($sql);
//print_r($pdoStmt);
$data = ['name'=>'张无忌','email'=>'zwj@php.cn','password'=>'123456'];
//$pdoStmt->bindParam('name',$data['name'],)
$res = $pdoStmt->execute($data);
var_dump($res);

    总结:

    1.预处理操作实用 名称占位符  :name : email

    2.预处理操作步骤: (1)准备SQL语句 生成 $pdoStmt 对象 (2)绑定参数 方法一 在执行时直接放置 数据参数

    $pdoStmt->execute($data array) ,方法二:$pdoStmt->bindParam('id',$id) 一次绑定一个

    (3)执行:与常用操作不同 读写均实用 $pdoStmt->execute()执行。写曹组I直接返回布尔值,读操作返回结果集

    使用 $pdoStmt->rowCount() 获取结果集数量,通过两种方式改变输出形式(执行后返回的是关联加数组的结果集)

    方法一:$pdoStmt->fetch(PDO::FETCH_ASSOC) or  $pdoStmt->fetchAll(PDO::FETCH_ASSOC)

    方法二:$pdoStmt->setFetchMode(PDO::FETCH_ASSOC)后取出



声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议