Easy Tutorial
❮ Func Filesystem Lstat Func String Substr Compare ❯

PDOStatement::fetch

PHP PDO Reference Manual

PDOStatement::fetch — Fetch the next row from a result set (PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)


Description

Syntax

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

Fetches the next row from a result set associated with a PDOStatement object. The fetch_style parameter determines how PDO returns the row.


Parameters

fetch_style

Controls how the next row will be returned to the caller. This value must be one of the PDO::FETCH_* constants, and defaults to the value of PDO::ATTR_DEFAULT_FETCH_MODE (which defaults to PDO::FETCH_BOTH).

-

PDO::FETCH_ASSOC: Returns an array indexed by column name.

-

PDO::FETCH_BOTH (default): Returns an array indexed by both column name and 0-indexed column number.

-

PDO::FETCH_BOUND: Returns TRUE and assigns the values of the columns in the result set to the PHP variables to which they were bound with the PDOStatement::bindColumn() method.

-

PDO::FETCH_CLASS: Returns a new instance of the requested class, mapping the columns of the result set to named properties in the class. If fetch_style includes PDO::FETCH_CLASSTYPE (e.g., *PDO::FETCH_CLASS | PDO::FETCH_CLASSTYPE*), the class name is determined from the value of the first column.

-

PDO::FETCH_INTO: Updates an existing instance of the requested class, mapping the columns of the result set to named properties in the class.

-

PDO::FETCH_LAZY: Combines PDO::FETCH_BOTH and PDO::FETCH_OBJ, creating the object variable names as they are accessed.

-

PDO::FETCH_NUM: Returns an array indexed by column number starting at 0.

-

PDO::FETCH_OBJ: Returns an anonymous object with property names that correspond to the column names.

cursor_orientation

offset


Return Value

The return value of this function on success depends on the fetch type. In all cases, failure returns FALSE.


Examples

Fetching Rows with Different Fetch Styles

<?php
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* Using PDOStatement::fetch styles */
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");
?>

The above example will output:

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] => apple
    [0] => apple
    [COLOUR] => red
    [1] => red
)

PDO::FETCH_LAZY: Return next row as an anonymous object with column names as properties
PDORow Object
(
    [NAME] => apple
    [COLOUR] => red
)

PDO::FETCH_OBJ: Return next row as an anonymous object with column names as properties
apple

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

❮ Func Filesystem Lstat Func String Substr Compare ❯