搜索
博主信息
博文 63
粉丝 8
评论 8
访问量 63769
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
PHP大牛成长之路:MySQL使用PDO获取结果集
周Sir-BLOG
原创
915人浏览过

MySQL使用PDO获取结果集

  • 数据库结构如下

  1. <?php
  2. //数据库信息
  3. $dsn='mysql:host=127.0.0.1;dbname=php_pro;charset=utf8';
  4. try {
  5. //新建数据库连接(实例化PDO对象)
  6. $pdo = new PDO($dsn, 'root', 'root');
  7. }catch(PDOException $e){
  8. // 获取PDOException接口错误信息
  9. echo $e->getMessage();
  10. }catch (Throwable $e) {
  11. // 获取Throwable接口或其它错误信息
  12. echo $e->getMessage();
  13. }
  14. //SQL语句(id字段作为条件,使用问号占位符预防注入)
  15. $sql = "SELECT * FROM `users` WHERE `id`<=?";
  16. //准备要执行的语句,返回PDOStatement对象
  17. $res = $pdo->prepare($sql);
  18. //绑定1个参数到问号占位符,多个问号按顺序绑定
  19. $id = 14;
  20. $res -> bindParam(1,$id);
  21. //执行查询语句,成功时返回 TRUE,失败时返回 FALSE。
  22. if($res->execute()){
  23. // 使用PDO的fetchall以关联数组形式返回数据集
  24. $res = $res->fetchAll(PDO::FETCH_ASSOC);
  25. echo "----id----姓名----年龄----邮箱----<br>";
  26. // 遍历结果集
  27. foreach($res as $key => $vulue){
  28. echo "----{$vulue['id']}----{$vulue['username']}----{$vulue['age']}----{$vulue['email']}----<br>";
  29. }
  30. }
  • 遍历输出结果如下;

结论

  • 理解了如何使用pdo类的对象去连接数据库;
  • 使用PDO对象中的prepare()方法获取PDOStatement对象;(注入防止手段有了初步了解)
  • fetchall方法参数:
    • PDO::FETCH_ASSOC 关联数组形式
    • PDO::FETCH_NUM 数字索引数组形式
    • PDO::FETCH_BOTH 两者数组形式都有,这是默认的
    • PDO::FETCH_OBJ 按照对象的形式,类似于以前的mysql_fetch_object()
    • PDO::FETCH_BOUND 以布尔值的形式返回结果,同时将获取的列值赋给bindParam()方法中指定的变量
    • PDO::FETCH_LAZY 以关联数组、数字索引数组和对象3种形式返回结果。`
批改老师:灭绝师太灭绝师太

批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
1条评论
灭绝师太 2020-07-18 13:20:44
非常好,思维挺跳跃的,了解一下数据表的设计,包括用户名设计唯一索引,时间存储等。
1楼
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

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

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