zoukankan      html  css  js  c++  java
  • PHP PDO获取结果集

    一、介绍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()方法是为了获取结果集的所有行。

  • 相关阅读:
    第二阶段冲刺第七天,6月6日。
    第二阶段冲刺第六天,6月5日。
    第二阶段冲刺第五天,6月4日。
    第二阶段冲刺第四天,6月3日。
    第二阶段冲刺第三天,6月2日。
    第二阶段冲刺第二天,6月1日。
    垃圾收集器与内存分配策略(1)
    OutOfMemoryError异常
    对象访问
    java内存区域与内存溢出异常(2)
  • 原文地址:https://www.cnblogs.com/invban/p/4532797.html
Copyright © 2011-2022 走看看