博客列表 >PHP通过PDO连接数据库并渲染到表格

PHP通过PDO连接数据库并渲染到表格

emagic
emagic原创
2020年07月19日 21:54:201215浏览

0716作业
1.PDO(PHP Data Object)是php数据对象,即实现与不同数据库连接进行各种增删改查操作的工具。兼容性强

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

  1. <?php
  2. //定义常亮配置基本连接参数,以后可以复用
  3. //数据库类型(如果是Oracle,postgres,mangoDB对应修改后面的值就行,PDO兼容大多数数据库)
  4. define('DBTYPE', 'mysql');
  5. //主机名,外网的请修改更新ip,本地用localhost或者127.0.0.1
  6. define('HOST', 'localhost');
  7. //端口号
  8. define('PORT', '3306');
  9. //字符集
  10. define('CHARSET', 'utf8');
  11. //数据库名
  12. define('DB_NAME', 'xpcms');
  13. //用户名
  14. define('USERNAME', 'root');
  15. //密码
  16. define('PWD', 'root123');
  17. //dns
  18. //注意PDO连接的格式DSN:数据库类型:host=主机;dbname=数据库;……其他参数
  19. define('DSN', DBTYPE . ':host=' . HOST . ';dbname=' . DB_NAME . ';charset=' . CHARSET);
  20. try {
  21. //实例化PDO对象
  22. $pdo = new PDO(DSN, USERNAME, PWD);
  23. // var_dump($pdo);
  24. } catch (PDOException $e) {
  25. // 捕捉PDO错误信息
  26. echo $e->getMessage();
  27. } catch (Throwable $e) {
  28. //捕捉拥有Throwable接口的错误或者其他异常
  29. echo $e->getMessage();
  30. }
  31. //以上代码可以另存为一个xxx.php文件作为配置连接文件,通过include或者require xxx.php引用以实现代码复用
  32. $sql = "select * from `xpcms_admin` limit 5";
  33. //获取PDOStatement预处理对象
  34. $stmt = $pdo->prepare($sql);
  35. //var_dump($stmt);
  36. //执行预处理语句
  37. $stmt->execute();
  38. //返回查询结果集,这里设置了FETCH_ASSOC设置了关联数组返回结果
  39. $res = $stmt->fetchAll(PDO::FETCH_ASSOC);
  40. // print_r($res);
  41. $output = <<< TABLE
  42. <table border="1px solid #777" cellspacing="0" cellpadding="15px" align="center">
  43. <caption style="font-size:1.8rem">注册用户情况</caption>
  44. <thead bgcolor="skyblue">
  45. <th>用户id</th>
  46. <th>用户名</th>
  47. <th>真实姓名</th>
  48. <th>手机</th>
  49. <th>创建时间</th>
  50. </thead>
  51. TABLE;
  52. // echo $output ;
  53. foreach ($res as $value) {
  54. $output .= "<tr><td >{$value['id']}</td>";
  55. $output .= "<td>{$value['username']}</td>";
  56. $output .= "<td>{$value['real_name']}</td>";
  57. $output .= "<td>{$value['mobile']}</td>";
  58. $output .= "<td>".date("Y-m-d H:m",$value['add_time'])."</td>";
  59. $output .= "</tr>";
  60. }
  61. $output .= "</table>";
  62. //打印结果集(表格)
  63. echo $output;
  64. ?>

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议
灭绝师太2020-07-20 14:53:321楼
很好,时间戳村日期更节约空间。