博客列表 >pdo类的对象去连接数据库并将数据库数据遍历到表格中

pdo类的对象去连接数据库并将数据库数据遍历到表格中

零龙
零龙原创
2020年07月25日 17:58:10729浏览

PDO对象连接数据库

1.可使用require调用数据库连接。新建一个PHP文档,命名config.php。

代码示例:

  1. <?php
  2. define('DB_HOST','localhost');//主机名
  3. define('DB_USER','root');//链接数据库用户名
  4. define('DB_PWD','142536');//链接数据库密码
  5. define('DB_NAME','mysqli');//数据库名称
  6. define('DB_PORT','3306');//数据库端口
  7. define('DB_TYPE','mysql');//数据库型号
  8. define('DB_CHARSET','utf8');//数据库编码方式
  9. define('DB_DSN',DB_TYPE.":host=".DB_HOST.";dbname=".DB_NAME.";charset=".DB_CHARSET);
  10. //定义PDO的DSN,数据源名,包括主机名,端口号和数据库名称
  11. $dsn='mysql:host=localhost;dbname=mysqli';
  12. //PDO驱动程序的名称,后面为一个冒号,再后面是可选的驱动程序链接数据库变量信息,如主机名,端口和数据名
  13. try
  14. {
  15. $pdo =new PDO(DB_DSN,DB_USER,DB_PWD);
  16. }
  17. catch(PDOException $e)
  18. {
  19. echo $e->getMessage();
  20. //捕捉特定于数据库信息的PDOException 异常
  21. }
  22. catch(Throwable $e)
  23. {
  24. echo $e->getMessage();
  25. //捕捉拥有Throwable 接口的错误或者其他异常
  26. }

使用require调用config.php使用。

2.直接在php文档中写入

代码示例:

  1. <?php
  2. header('Content-type:text/html;charset=utf-8');
  3. $db ='mysql'; //数据库的类型
  4. $host = 'localhost'; //数据库地址
  5. $dbname = 'mysqli'; //数据库名称
  6. $charset = 'utf8'; //数据库字符集
  7. $user_name= 'root'; //数据源用户名
  8. $pass_word = '142536';//数据库密码
  9. $dsn ="$db:host=$host;dbname=$dbname;charset=$charset";
  10. //数据库驱动名称
  11. try
  12. {
  13. $pdo = new PDO($dsn,$user_name,$pass_word);
  14. }catch(PDOException $e)
  15. {
  16. die("错误:".$e->getMessage()."<br>");
  17. }

使用PDO连接对数据库进行增删改查及防SQL注入

代码示例:

  1. // PDO数据库的增加
  2. $password = md5(142536);
  3. $sql = "INSERT INTO user(`username`,`password`,`sex`,`age`,`email`,`mobile`) VALUES('白骨精','$password','女',85,'bgj@126.com','18954872145')";
  4. $res = $pdo->exec($sql);
  5. if($res){
  6. echo "添加成功了".$res."条数据";
  7. }
  8. else
  9. {
  10. echo "添加错误:".$pdo->errorCode();
  11. }
  12. echo "<hr>";
  13. // PDO 数据库删除
  14. $sql = "DELETE FROM `user` WHERE `username`='白骨精'";
  15. $res = $pdo->exec($sql);
  16. if($res)
  17. {
  18. echo "删除成功了".$res."条数据";
  19. }
  20. else
  21. {
  22. echo "删除错误:".$pdo->errorCode();
  23. }
  24. echo "<hr>";
  25. //PDO 数据库修改
  26. $sql ="UPDATE `user` SET `age`=89,`mobile`='13555555555' WHERE `username`='唐三藏'";
  27. $res = $pdo->exec($sql);
  28. if($res)
  29. {
  30. echo "成功更新了".$res."条数据";
  31. }
  32. else
  33. {
  34. echo "更新失败:".$pdo->errorCode();
  35. }
  36. echo "<hr>";
  37. //bindParam 防SQL注入
  38. $sql ="SELECT * FROM `user` WHERE `username`=? AND `password`=?";
  39. $stmt= $pdo->prepare($sql);
  40. $username ='唐三藏';
  41. $password = md5(142536);
  42. $stmt->bindParam(1,$username);
  43. $stmt->bindParam(2,$password);
  44. //PDOStatement::bindParam 绑定一个参数到知道的变量名
  45. //PDOStatement::bindValue 绑定一个值到一个参数
  46. $stmt->execute();
  47. //rowCount返回受上一个SQL语句影响的行
  48. $res = $stmt->rowCount();
  49. if($res)
  50. {
  51. echo $username."登录成功";
  52. }
  53. else{
  54. echo "登录失败";
  55. }
  56. echo "<hr>";
  57. //bindValue 防SQL注入
  58. $sql ="SELECT * FROM `user` WHERE `username`=? AND `password`=?";
  59. $stmt= $pdo->prepare($sql);
  60. $stmt->bindValue(1,'唐三藏');
  61. $stmt->bindValue(2,$password= md5(142536));
  62. $stmt->execute();
  63. $res = $stmt->rowCount();
  64. if($res)
  65. {
  66. echo "登录成功!";
  67. }
  68. else
  69. {
  70. echo "登录失败:".$pdo->errorCode();
  71. }
  72. echo "<hr>";
  73. //数据库查询
  74. $sql ="SELECT * FROM `user` ORDER BY `id` ";
  75. $stmt = $pdo->prepare($sql);
  76. $stmt->execute();
  77. $res = $stmt->fetchAll(PDO::FETCH_ASSOC);
  78. $table=<<<EOF
  79. <h2 align="center">用户信息</h2>
  80. <table border="1" align="center">
  81. <tr align="center">
  82. <td>id</td>
  83. <td>姓名</td>
  84. <td>密码</td>
  85. <td>性别</td>
  86. <td>年龄</td>
  87. <td>邮箱</td>
  88. <td>手机</td>
  89. </tr>
  90. <tr>
  91. EOF;
  92. if($res)
  93. {
  94. echo $table;
  95. foreach($res as $key )
  96. {
  97. foreach($key as $value)
  98. {
  99. echo "<td>".$value."</td>";
  100. }
  101. echo "</tr>";
  102. }
  103. echo "</table>";
  104. }
  105. else
  106. {
  107. echo "查询失败:".$pdo->errorCode();
  108. }

示例图

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议