一、介绍PDO获取结果集,不得不介绍一下PDO是如果执行SQL语句,一般情况下分三种,

1.query()方法

query()方法通常用于返回执行查询后的结果集。语法是这样的:PDOStatement PDO::query(string sql);

参数sql就很容易理解了,就是要执行的sql语句。

2.prepare()方法和execute()方法

   prepare()是预处理语句的其中一个方法,通常来做查询的准备工作,然后,execute()来执行查询。

以上就简单介绍这三种情况。

二、PDO如何获取结果集

   pdo获取结果集有三种方法,分别是fetch()、fetchAll()和fetchColumn()方法。

 首先,你先在数据库里面建一个表,命名为t_user。

CREATE TABLE `t_user` (
   `userid` int(11) NOT NULL,
   `username` varchar(25) DEFAULT NULL,
   `usersex` varchar(6) DEFAULT NULL,
  `userage` int(6) DEFAULT NULL,
   PRIMARY KEY (`userid`)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

然后,插入数据,很简单,如下:

INSERT INTO `t_user` VALUES ('1', 'li', 'boy', '23');
 INSERT INTO `t_user` VALUES ('2', 'nadia', 'gril', '20');
 INSERT INTO `t_user` VALUES ('3', 'wang', 'boy', '55');

下面就简单介绍一下每个方法是如何使用的。

1.fetch()方法

fecth()方法是获取结果集的下一行数据。

表一:fetch_style控制结果集返回方式的可选值

PDO::FETCH_ASSOC 关联数组形式。
PDO::FETCH_NUM 数字索引数组形式。
PDO::FETCH_BOTH 两者数组形式都有,这是默认的。
PDO::FETCH_OBJ 按照对象的形式,类似于以前的mysql_fetch_object()函数。
PDO::FETCH_BOUND 以布尔值的形式返回结果,同时将获取的列值赋给bindParam()方法中指定的变量。
PDO::FETCH_LAZY 以关联数组、数字索引数组和对象3种形式返回结果。

ftech()方法的具体代码如下所示:

   <table border='1'>
    <?php
      $dbms = 'mysql';//选择mysql数据库
      $host = '127.0.0.1';//数据库主机名
      $dbName = 'dbtext';//使用的数据库
      $user = "";//数据库连接用户名
      $pwd = "";//数据库连接密码
      $dsn = "$dbms:host=$host;dbname=$dbName";
      try {
        $pdo = new PDO($dsn, $user, $pwd);//初始化一个PDO对象,创建数据库连接对象$pdo
        $query = "select * from t_user";
        $result = $pdo->prepare($query);
        $result->execute();
        while ($res=$result->fetch(PDO::FETCH_ASSOC)){?>
      <tr>
      <td><?php echo $res['userid'];?></td>
      <td><?php echo $res['username'];?></td>
      <td><?php echo $res['userage'];?></td>
      <td><?php echo $res['usersex'];?></td>
      </tr>
    <?php }
    }catch (Exception $e){
    die("error!!!".$e->getMessage()."<br>");
    }
    ?>
  </table>

结果如下图1:

图1

2.fetchAll()方法

从单词上可以看的很清楚,fetchAll()方法是为了获取结果集的所有行。

PHP PDO获取结果集的更多相关文章

  1. PDO中获取结果集

    fetch()方法 fetch()方法用于获取结果集的下一行.语法例如以下: mixed PDOStatement::fetch([int fetch_style][,int cursor_orien ...

  2. java 通过调用存储过程获取结果集

    一般在java中,数据查询是通过Statement, PreparedStatement获取结果集,今天向大家介绍通过CallableStatement调用存储过程,从而获取结果集.        本 ...

  3. PDO获取数据的方法fetch()、fetchAll()、setFetchMode()、bindColumn()

    PDO的数据获取方法与其他数据库扩展都非常类似,只要成功执行SELECT查询,都会有结果集对象产生.不管是使用PDO对象中的query()方法,还是使用prepare()和execute()等方法结合 ...

  4. 关于PDO取得结果集的数据类型为string的问题

    很久没写些什么了, 正好今天工作中遇到了以前在意过的问题. 之前曾注意到过,php从数据库中取得的结果集后,其中的字段全都会变成string类型.今儿通过ajax调取数据, 有一个type字段是int ...

  5. 【K8S学习笔记】Part2:获取K8S集群中运行的所有容器镜像

    本文将介绍如何使用kubectl列举K8S集群中运行的Pod内的容器镜像. 注意:本文针对K8S的版本号为v1.9,其他版本可能会有少许不同. 0x00 准备工作 需要有一个K8S集群,并且配置好了k ...

  6. 10.1(java学习笔记)JDBC基本操作(连接,执行SQL语句,获取结果集)

    一.JDBC JDBC的全称是java database connection java数据库连接. 在java中需要对数据库进行一系列的操作,这时就需要使用JDBC. sun公司制定了关于数据库操作 ...

  7. client-go获取k8s集群内部连接,实现deployment的增删改查

    一开始写了一个client-java版本的,但是java放在k8s集群上跑需要装jvm而且java的包比较大,client-go版本更适合主机端,下面是整个实现 说明:k8s官方维护的客户端库只有go ...

  8. php pdo 获取数据转换为json

    php 查询语句获取数据,数据库有好多表现形式,如何拿出自己需要的数据 $raceSQL ='select id, race_name,race_code,content from je_race ' ...

  9. JDBC的使用(二):PreparedStatement接口;ResultSet接口(获取结果集);例题:SQL注入

    ResultSet接口:类似于一个临时表,用来暂时存放数据库查询操作所获得的结果集. getInt(), getFloat(), getDate(), getBoolean(), getString( ...

随机推荐

  1. JS实现点击按钮,自增输入框个数

    <html> <head> <script language="javascript"> var i=0; function addinput( ...

  2. call, apply && bind, currying

    简要概括: apply(): 将函数作为指定对象的方法来调用,传递给它的是指定的参数数组 ——function.apply(thisobj, args) 或者 function.apply(thiso ...

  3. foxmail邮箱在代理环境下不能使用解决方法。

    由于工作原因,在域环境中但是还不是域用户,怎么设置代理也不能使用邮件客户端,幸亏老大给一软件,如下图 安装超级简单,而且软件很小,安装完后重启,基本不用设置就可以使用,前提是你的邮箱客户端要设置代理服 ...

  4. FTP软件Filezilla出现“读取目录列表失败”的解决办法

    FTP软件Filezilla出现“读取目录列表失败”情况一般出现在vista/win7系统上,之前在xp上没发现这种情况. 总的来说,不论是打开FTP出现乱码或者显示“读取目录列表失败”均是由字符集引 ...

  5. C++程序原码

    直接插入排序基本算法 #include<iostream.h> #include<stdlib.h> #include<time.h> const int n=10 ...

  6. php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法

    php 获取今日.昨日.上周.本月的起始时间戳和结束时间戳的方法,主要使用到了 php 的时间函数 mktime.下面首先还是直奔主题以示例说明如何使用 mktime 获取今日.昨日.上周.本月的起始 ...

  7. OC类方法和实例方法 及常用的for/in方法

    类方法前面有+,实例方法前面有- 类方法和实例方法的区别在于,类方法不能使用实例变量. 使用类方法主要原因有: 1.类方法的使用不依赖于实例化一个对象,也就是说如果一个功能的实现不需要实例化对象,就可 ...

  8. .NET中的程序集(Assembly)

    在.NET 中,新引入了一个程序集的概念,就是指经由编译器编译得到的,供CLR进一步编译执行的那个中间产物,在WINDOWS系统中,它一般表现为.dll,或者是.exe的格式,但是要注意,它们跟普通意 ...

  9. angularJS 过滤器 表单验证

    过滤器1.filter的作用就是接收一个输入,通过某个规则进行处理,然后返回处理后的结果,主要用于数据的格式化.2.内置过滤器(1)Currency(货币)将一个数值格式化为货币格式,默认为$(2)D ...

  10. Html中src、href的相对路径与绝对路径

    What is a path? Why is this something developers should care about? A path is simply the location of ...