博主信息
博文 60
粉丝 5
评论 3
访问量 81488
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
使用pdo遍历数据库中的数据表
longlong
原创
1353人浏览过

1.使用pdo遍历数据库中的数据表

本例要求:使用pdo类的对象去连接数据库,然后使用PDO对象中的prepare()方法获取PDOStatement对象, 接着使用PDOStatement对象的成员方法将获得的结果集中的数据(二维数组)遍历出来,渲染到表格中。

需要遍历的数据表如下:

  1. <?php
  2. // 1. 定义使用PDO时需要用到的一些数据库常量
  3. // 定义主机名
  4. define('DB_HOST','php.edu');
  5. // 定义连接数据库的用户名
  6. define('DB_USER','root');
  7. // 定义连接数据库的密码
  8. define('DB_PWD','root');
  9. // 定义数据库的端口号
  10. define('DB_PORT','3306');
  11. // 定义数据库的类型
  12. define('DB_TYPE','mysql');
  13. // 定义数据库的名称
  14. define('DB_NAME','first');
  15. // 定义数据库的编码方式
  16. define('DB_CHARSET','utf8');
  17. // 定义数据库的数据源名(DSN),包括数据类型,主机名,端口号和数据库名称等。
  18. define('DB_DSN',DB_TYPE.":host=".DB_HOST.";dbname=".DB_NAME.";charset=".DB_CHARSET);
  19. // 2. 连接数据库
  20. try {
  21. $pdo = new PDO(DB_DSN,DB_USER,DB_PWD);
  22. // var_dump($pdo);
  23. //捕捉特定于数据库信息的PDOEXCEPTION 异常
  24. } catch (Throwable $th) {
  25. echo $th->getMessage();
  26. }
  27. //捕捉拥有Throwable接口的错误或者其他异常
  28. catch (PDOException $e) {
  29. echo $e->getMessage();
  30. }
  31. // 3. sql语句查询
  32. $sql = "SELECT `id`,`username`,`password`,`sex`,`age`,`tel` FROM `student`";
  33. // 4. 准备执行sql语句,并得到一个对象
  34. $stmt = $pdo->prepare($sql);
  35. // 得到一个PDOStatement对象
  36. // var_dump($res);
  37. // 5.执行
  38. $stmt->execute();
  39. // 指定得到一个结果集,为关联数组
  40. $res = $stmt->fetchAll(PDO::FETCH_ASSOC);
  41. // var_dump($res);
  42. // 6. 遍历数组
  43. if (!empty($res)) {
  44. $table = <<<EOF
  45. <table border="1" align="center" style="border-collapse:collapse;width:500px;text-align:center;margin-top:50px;">
  46. <caption><h2>学生信息表</h2></caption>
  47. <tr>
  48. <td>序号</td>
  49. <td>姓名</td>
  50. <td>密码</td>
  51. <td>性别</td>
  52. <td>年龄</td>
  53. <td>电话</td>
  54. </tr>
  55. EOF;
  56. foreach ( $res as $key=>$value ) {
  57. $table.="<tr>";
  58. $table.="<td>{$value['id']}</td>";
  59. $table.="<td>{$value['username']}</td>";
  60. $table.="<td>{$value['password']}</td>";
  61. $table.="<td>{$value['sex']}</td>";
  62. $table.="<td>{$value['age']}</td>";
  63. $table.="<td>{$value['tel']}</td>";
  64. $table.="</tr>";
  65. }
  66. $table.="</table>";
  67. echo $table;
  68. }

2. 总结

经过mysqli和PDO的学习,我觉得最重要的就是要了解整个执行过程的流程,当对它的流程完全了解之后,就是对类中的函数或属性或方法加以应用,流程的每个环节可能都对应着不同的类,要使用好类中的方法,结合var_dump()的使用,能够更加清楚的知道此变量或结果属于哪一类,从而更好的使用函数或方法。

批改老师:GuanhuiGuanhui

批改状态:合格

老师批语:非常好!没什么问题,一定要勤加练习,多看看手册。
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
1条评论
灭绝师太 2020-07-17 13:15:15
注意定界符的结束标识符要顶头写,同行中不能有缩进、空格。或其他特殊符号,你这个是有缩进了吧!
1楼
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

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

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