Heim >Backend-Entwicklung >PHP-Tutorial >PHP PDO fetch()有什么用

PHP PDO fetch()有什么用

PHPz
PHPzOriginal
2016-06-06 20:49:381823Durchsuche

PHP PDO fetch作用是从结果集中获取下一行,其语法是“PDOStatement::fetch ([ int $fetch_style [, int]...);”,参数“fetch_style”表示控制下一行如何返回给调用者。

PHP PDO fetch()有什么用

PHP PDO fetch() 详解

环境:(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDOStatement::fetch — 从结果集中获取下一行

说明

PDOStatement::fetch ([ int $fetch_style [, int $cursor_orientation = PDO::FETCH_ORI_NEXT [, int $cursor_offset = 0 ]]] ) : mixed

 从一个 PDOStatement 对象相关的结果集中获取下一行。fetch_style 参数决定 POD 如何返回行。

参数

fetch_style

  控制下一行如何返回给调用者。此值必须是 PDO::FETCH_* 系列常量中的一个,缺省为 PDO::ATTR_DEFAULT_FETCH_MODE 的值 (默认为 PDO::FETCH_BOTH )。

PDO::FETCH_ASSOC:返回一个索引为结果集列名的数组

PDO::FETCH_BOTH(默认):返回一个索引为结果集列名和以0开始的列号的数组

PDO::FETCH_BOUND:返回 TRUE ,并分配结果集中的列值给 PDOStatement::bindColumn() 方法绑定的 PHP 变量。

PDO::FETCH_CLASS:返回一个请求类的新实例,映射结果集中的列名到类中对应的属性名。如果 fetch_style 包含 PDO::FETCH_CLASSTYPE(例如:PDO::FETCH_CLASS | PDO::FETCH_CLASSTYPE),则类名由第一列的值决定

PDO::FETCH_INTO:更新一个被请求类已存在的实例,映射结果集中的列到类中命名的属性

PDO::FETCH_LAZY:结合使用 PDO::FETCH_BOTH 和 PDO::FETCH_OBJ,创建供用来访问的对象变量名

PDO::FETCH_NUM:返回一个索引为以0开始的结果集列号的数组

PDO::FETCH_OBJ:返回一个属性名对应结果集列名的匿名对象

cursor_orientation

对于 一个 PDOStatement 对象表示的可滚动游标,该值决定了哪一行将被返回给调用者。此值必须是 PDO::FETCH_ORI_* 系列常量中的一个,默认为 PDO::FETCH_ORI_NEXT。要想让 PDOStatement 对象使用可滚动游标,必须在用 PDO::prepare() 预处理SQL语句时,设置 PDO::ATTR_CURSOR 属性为 PDO::CURSOR_SCROLL。

offset

对于一个 cursor_orientation 参数设置为 PDO::FETCH_ORI_ABS 的PDOStatement 对象代表的可滚动游标,此值指定结果集中想要获取行的绝对行号。

对于一个 cursor_orientation 参数设置为 PDO::FETCH_ORI_REL 的PDOStatement 对象代表的可滚动游标,此值指定想要获取行相对于调用 PDOStatement::fetch() 前游标的位置

返回值

此函数(方法)成功时返回的值依赖于提取类型。在所有情况下,失败都返回 FALSE 。

范例

<?php 
    // 将数据库访问信息设置为常量:
    header( &#39;Content-Type:text/html;charset=utf-8 &#39;);
    DEFINE (&#39;DB_USER&#39;, &#39;root&#39;);
    DEFINE (&#39;DB_PASSWORD&#39;, &#39;*****&#39;);
    DEFINE (&#39;DB_HOST&#39;, &#39;localhost&#39;);
    DEFINE (&#39;DB_NAME&#39;, &#39;ryan&#39;);
    date_default_timezone_set(&#39;PRC&#39;);  //设置时区
    try {
        $dsn = &#39;mysql:host=&#39;.DB_HOST.&#39;;dbname=&#39;.DB_NAME.&#39;&#39;;
        $dbc = new PDO($dsn, DB_USER, DB_PASSWORD);
        $dbc->exec(&#39;set names utf8&#39;);
        if (!$dbc) {
            echo "无法连接数据库!";
            exit;
        }
        $q = "select * from users;";
        $res = $dbc->prepare($q);//准备查询语句
        $res->execute(); 
        $result = $res->fetch(PDO::FETCH_NUM);
        echo "返回首行列数" . count($result) . "<br>";
        // 在不知道列的情况下,实现循环输出首行内容
        for ($i = 0; $i <= count($result)-1; $i++) {
            echo $result[$i] . " ";
        }
        
    }
    catch (PDOException $e) {
        echo &#39;不能连接 MySQL: &#39; . $e->getMessage();
    }

更多相关技术文章,请访问PHP中文网

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn