博主信息
博文 30
粉丝 0
评论 0
访问量 27958
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
PDO之预处理操作
深海巨兽皮皮虾的博客
原创
1533人浏览过

    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举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学