(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)
PDOStatement::fetch — 锟接斤拷锟斤拷锟斤拷谢锟饺★拷锟揭伙拷锟�
$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锟斤拷默锟较o拷锟斤拷锟斤拷锟斤拷一锟斤拷锟斤拷锟斤拷为锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟�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
锟斤拷
Example #1 使锟矫诧拷同锟斤拷锟斤拷取锟斤拷式锟斤拷取锟斤拷
<?php
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();
/* 锟斤拷锟斤拷 PDOStatement::fetch 锟斤拷锟� */
print("PDO::FETCH_ASSOC: ");
print("Return next row as an array indexed by column name\n");
$result = $sth->fetch(PDO::FETCH_ASSOC);
print_r($result);
print("\n");
print("PDO::FETCH_BOTH: ");
print("Return next row as an array indexed by both column name and number\n");
$result = $sth->fetch(PDO::FETCH_BOTH);
print_r($result);
print("\n");
print("PDO::FETCH_LAZY: ");
print("Return next row as an anonymous object with column names as properties\n");
$result = $sth->fetch(PDO::FETCH_LAZY);
print_r($result);
print("\n");
print("PDO::FETCH_OBJ: ");
print("Return next row as an anonymous object with column names as properties\n");
$result = $sth->fetch(PDO::FETCH_OBJ);
print $result->NAME;
print("\n");
?>
锟斤拷锟斤拷锟斤拷锟教伙拷锟斤拷锟斤拷锟�
PDO::FETCH_ASSOC: Return next row as an array indexed by column name Array ( [NAME] => apple [COLOUR] => red ) PDO::FETCH_BOTH: Return next row as an array indexed by both column name and number Array ( [NAME] => banana [0] => banana [COLOUR] => yellow [1] => yellow ) PDO::FETCH_LAZY: Return next row as an anonymous object with column names as properties PDORow Object ( [NAME] => orange [COLOUR] => orange ) PDO::FETCH_OBJ: Return next row as an anonymous object with column names as properties kiwi
Example #2 使锟斤拷一锟斤拷锟缴癸拷锟斤拷锟轿憋拷锟饺★拷锟�
<?php
function readDataForwards($dbh) {
$sql = 'SELECT hand, won, bet FROM mynumbers ORDER BY BET';
try {
$stmt = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));
$stmt->execute();
while ($row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_NEXT)) {
$data = $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n";
print $data;
}
$stmt = null;
}
catch (PDOException $e) {
print $e->getMessage();
}
}
function readDataBackwards($dbh) {
$sql = 'SELECT hand, won, bet FROM mynumbers ORDER BY bet';
try {
$stmt = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_LAST);
do {
$data = $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n";
print $data;
} while ($row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_PRIOR));
$stmt = null;
}
catch (PDOException $e) {
print $e->getMessage();
}
}
print "Reading forwards:\n";
readDataForwards($conn);
print "Reading backwards:\n";
readDataBackwards($conn);
?>
锟斤拷锟斤拷锟斤拷锟教伙拷锟斤拷锟斤拷锟�
Reading forwards: 21 10 5 16 0 5 19 20 10 Reading backwards: 19 20 10 16 0 5 21 10 5