เบราว์เซอร์นี้ไม่ได้รับการสนับสนุนอีกต่อไป
อัปเกรดเป็น Microsoft Edge เพื่อใช้ประโยชน์จากคุณลักษณะล่าสุด เช่น การอัปเดตความปลอดภัยและการสนับสนุนด้านเทคนิค
ดาวน์โหลด Microsoft Edge
ข้อมูลเพิ่มเติมเกี่ยวกับ Internet Explorer และ Microsoft Edge
Syntax
mixed PDOStatement::fetch ([ $fetch_style[, $cursor_orientation[, $cursor_offset]]] );
Parameters
$
fetch_style
: An optional (integer) symbol specifying the format of the row data. See the Remarks section for the list of possible values for $
fetch_style
. Default is PDO::FETCH_BOTH. $
fetch_style
in the fetch method will override the $
fetch_style
specified in the PDO::query method.
$
cursor_orientation
: An optional (integer) symbol indicating the row to retrieve when the prepare statement specifies
PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL
. See the Remarks section for the list of possible values for $
cursor_orientation
. See
PDO::prepare
for a sample using a scrollable cursor.
$
cursor_offset
: An optional (integer) symbol specifying the row to fetch when $
cursor_orientation
is either PDO::FETCH_ORI_ABS or PDO::FETCH_ORI_REL and PDO::ATTR_CURSOR is PDO::CURSOR_SCROLL.
Return Value
A mixed value that returns a row or false.
The cursor is automatically advanced when fetch is called. The following table contains the list of possible $
fetch_style
values.
$
fetch_style
Description
PDO::FETCH_BOTH
Specifies an array indexed by column name and 0-based order. This is the default.
PDO::FETCH_BOUND
Returns true and assigns the values as specified by
PDOStatement::bindColumn
.
PDO::FETCH_CLASS
Creates an instance and maps columns to named properties.
Call
PDOStatement::setFetchMode
before calling fetch.
PDO::FETCH_INTO
Refreshes an instance of the requested class.
Call
PDOStatement::setFetchMode
before calling fetch.
PDO::FETCH_LAZY
Creates variable names during access and creates an unnamed object.
PDO::FETCH_NUM
Specifies an array indexed by zero-based column order.
PDO::FETCH_OBJ
Specifies an unnamed object with property names that map to column names.
If the cursor is at the end of the result set (the last row has been retrieved and the cursor has advanced past the result set boundary) and if the cursor is forward-only (PDO::ATTR_CURSOR = PDO::CURSOR_FWDONLY), subsequent fetch calls will fail.
If the cursor is scrollable (PDO::ATTR_CURSOR = PDO::CURSOR_SCROLL), fetch will move the cursor within the result set boundary. The following table contains the list of possible $
cursor_orientation
values.
$
cursor_orientation
Description
If the value specified for $
cursor_offset
or $
cursor_orientation
results in a position outside result set boundary, fetch will fail.
Support for PDO was added in version 2.0 of the Microsoft Drivers for PHP for SQL Server.
Example
$server = "(local)";
$database = "AdventureWorks";
$conn = new PDO( "sqlsrv:server=$server ; Database = $database", "", "");
print( "\n---------- PDO::FETCH_CLASS -------------\n" );
$stmt = $conn->query( "select * from HumanResources.Department order by GroupName" );
class cc {
function __construct( $arg ) {
echo "$arg";
function __toString() {
return $this->DepartmentID . "; " . $this->Name . "; " . $this->GroupName;
$stmt->setFetchMode(PDO::FETCH_CLASS, 'cc', array( "arg1 " ));
while ( $row = $stmt->fetch(PDO::FETCH_CLASS)) {
print($row . "\n");
print( "\n---------- PDO::FETCH_INTO -------------\n" );
$stmt = $conn->query( "select * from HumanResources.Department order by GroupName" );
$c_obj = new cc( '' );
$stmt->setFetchMode(PDO::FETCH_INTO, $c_obj);
while ( $row = $stmt->fetch(PDO::FETCH_INTO)) {
echo "$c_obj\n";
print( "\n---------- PDO::FETCH_ASSOC -------------\n" );
$stmt = $conn->query( "select * from Person.ContactType where ContactTypeID < 5 " );
$result = $stmt->fetch( PDO::FETCH_ASSOC );
print_r( $result );
print( "\n---------- PDO::FETCH_NUM -------------\n" );
$stmt = $conn->query( "select * from Person.ContactType where ContactTypeID < 5 " );
$result = $stmt->fetch( PDO::FETCH_NUM );
print_r ($result );
print( "\n---------- PDO::FETCH_BOTH -------------\n" );
$stmt = $conn->query( "select * from Person.ContactType where ContactTypeID < 5 " );
$result = $stmt->fetch( PDO::FETCH_BOTH );
print_r( $result );
print( "\n---------- PDO::FETCH_LAZY -------------\n" );
$stmt = $conn->query( "select * from Person.ContactType where ContactTypeID < 5 " );
$result = $stmt->fetch( PDO::FETCH_LAZY );
print_r( $result );
print( "\n---------- PDO::FETCH_OBJ -------------\n" );
$stmt = $conn->query( "select * from Person.ContactType where ContactTypeID < 5 " );
$result = $stmt->fetch( PDO::FETCH_OBJ );
print $result->Name;
print( "\n \n" );
print( "\n---------- PDO::FETCH_BOUND -------------\n" );
$stmt = $conn->query( "select * from Person.ContactType where ContactTypeID < 5 " );
$stmt->bindColumn('Name', $name);
$result = $stmt->fetch( PDO::FETCH_BOUND );
print $name;
print( "\n \n" );
See Also
PDOStatement Class