请选择 进入手机版 | 继续访问电脑版

使用PDO执行数据查询语句方法

[复制链接]
查看1487 | 回复0 | 2020-11-16 16:40 | 显示全部楼层 |阅读模式
方法:$pdo->query($sql),返回的是PDOStatement对象
代码如下:
  1. <?php
  2. $dsn='mysql:dbname=data;charset=utf8';
  3. $pdo=new PDO($dsn,'root','root');
  4. //1、执行数据查询语句
  5. $stmt=$pdo->query('select * from products');
  6. //var_dump($stmt);        //object(PDOStatement)
  7. //2、获取数据
  8. //2.1  获取二维数组
  9. //$rs=$stmt->fetchAll();  //默认返回关联和索引数组
  10. //$rs=$stmt->fetchAll(PDO::FETCH_BOTH);     //返回关联和索引数组
  11. //$rs=$stmt->fetchAll(PDO::FETCH_NUM);      //返回索引数组
  12. //$rs=$stmt->fetchAll(PDO::FETCH_ASSOC);    //返回关联数组
  13. //$rs=$stmt->fetchAll(PDO::FETCH_OBJ);        //返回对象数组

  14. //2.2  获取一维数组,匹配完成后指针下移一条
  15. //$rs=$stmt->fetch();     //关联和索引数组
  16. //$rs=$stmt->fetch(PDO::FETCH_NUM);   //索引数组
  17. //例题:通过while循环获取所有数据
  18. /*
  19. while($row=$stmt->fetch(PDO::FETCH_ASSOC)){
  20.     $rs[]=$row;
  21. }
  22. echo '<pre>';
  23. var_dump($rs);
  24. */

  25. //3.3  匹配列:匹配当前行的第n列,列的编号从0开始,匹配完毕后指针下移一条
  26. //echo $stmt->fetchColumn();  //获取当前行的第0列
  27. //echo $stmt->fetchColumn(1);  //获取当前行的第1列

  28. //3.4  总行数,总列数
  29. /*
  30. echo '总行数:'.$stmt->rowCount(),'<br>';
  31. echo '总列数:'.$stmt->columnCount();
  32. */

  33. //3.5 遍历PDOStatement对象(PDOStatement对象是有迭代器的)
  34. foreach($stmt as $row){
  35.     echo $row['proname'],'-',$row['proprice'],'<br>';
  36. }
复制代码
stdClass类是所有PHP类的父类
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

UID
1
贡献
387
丢币
38902
主题
4607
回帖
116
注册时间
2018-9-25
最后登录
2024-3-24