pdostatement::fetch-k8凯发旗舰
(php 5 >= 5.1.0, php 7, php 8, pecl pdo >= 0.1.0)
pdostatement::fetch — 从结果集中获取下一行
说明
public pdostatement::fetch(int $mode
= pdo::fetch_default, int $cursororientation
= pdo::fetch_ori_next, int $cursoroffset
= 0): mixed
从一个 pdostatement 对象相关的结果集中获取下一行。mode
参数决定 pod 如何返回行。
参数
mode
控制下一行如何返回给调用者。此值必须是
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
:返回一个请求类的新实例,映射结果集中的列名到类中对应的属性名,然后调用构造函数,除非指定pdo::fetch_props_late
。如果mode
包含 pdo::fetch_classtype(例如:pdo::fetch_class | pdo::fetch_classtype
),则类名由第一列的值决定pdo::fetch_into
:更新一个被请求类已存在的实例,映射结果集中的列到类中命名的属性pdo::fetch_lazy
:结合使用pdo::fetch_both
和pdo::fetch_obj
,创建供用来访问的对象变量名pdo::fetch_named
:返回与pdo::fetch_assoc
具有相同形式的数组,除了如果有多个同名列,则该键引用的值将是具有该列名的行中所有值的数组pdo::fetch_num
:返回一个索引为以0开始的结果集列号的数组pdo::fetch_obj
:返回一个属性名对应结果集列名的匿名对象pdo::fetch_props_late
:当与pdo::fetch_class
一起使用时,类的构造方法在从相应的列值分配属性之前被调用。cursororientation
对于 一个 pdostatement 对象表示的可滚动游标,该值决定了哪一行将被返回给调用者。此值必须是
pdo::fetch_ori_*
系列常量中的一个,默认为pdo::fetch_ori_next
。要想让 pdostatement 对象使用可滚动游标,必须在用 pdo::prepare() 预处理sql语句时,设置pdo::attr_cursor
属性为pdo::cursor_scroll
。cursoroffset
对于一个
cursororientation
参数设置为pdo::fetch_ori_abs
的 pdostatement 对象代表的可滚动游标,此值指定结果集中想要获取行的绝对行号。对于一个
cursororientation
参数设置为pdo::fetch_ori_rel
的 pdostatement 对象代表的可滚动游标,此值指定想要获取行相对于调用 pdostatement::fetch() 前游标的位置
返回值
此方法成功时返回的值依赖于获取类型。在所有情况下,失败或没有更多记录时都返回 false
。
错误/异常
如果属性 pdo::attr_errmode
设置为 pdo::errmode_warning
,则发出级别为 e_warning
的错误。
如果属性 pdo::attr_errmode
设置为 pdo::errmode_exception
,则抛出 pdoexception。
范例
example #1 使用不同的提取方式获取行
#pdo #php