Blogger Information
Blog 60
fans 5
comment 3
visits 65333
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
使用pdo遍历数据库中的数据表
longlong
Original
1201 people have browsed it

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()的使用,能够更加清楚的知道此变量或结果属于哪一类,从而更好的使用函数或方法。

Correcting teacher:GuanhuiGuanhui

Correction status:qualified

Teacher's comments:非常好!没什么问题,一定要勤加练习,多看看手册。
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
1 comments
灭绝师太 2020-07-17 13:15:15
注意定界符的结束标识符要顶头写,同行中不能有缩进、空格。或其他特殊符号,你这个是有缩进了吧!
1 floor
Author's latest blog post