<?php
$db = new PDO('sqlite::memory:');
$db->exec("CREATE TABLE fruit (name VARCHAR(100), colour VARCHAR(100))");
$db->exec("INSERT INTO fruit (name, colour) VALUES
('apple', 'red'),
('banana', 'yellow'),
('orange', 'orange'),
('kiwi', 'green')");
$sth = $db->prepare("SELECT name, colour FROM fruit");
$sth->execute();
/* Probar los estilos de PDOStatement::fetch */
echo "PDO::FETCH_ASSOC: ";
echo "Devuelve la siguiente línea como un array indexado por el nombre de la columna\n";
$result = $sth->fetch(PDO::FETCH_ASSOC);
var_dump($result);
echo "\n";
echo "PDO::FETCH_BOTH: ";
echo "Devuelve la siguiente línea como un array indexado por el nombre y el número de la columna\n";
$result = $sth->fetch(PDO::FETCH_BOTH);
var_dump($result);
echo "\n";
echo "PDO::FETCH_LAZY: ";
echo "Devuelve la siguiente línea como un objeto PDORow con los nombres de las columnas como propiedades\n";
$result = $sth->fetch(PDO::FETCH_LAZY);
var_dump($result);
echo "\n";
echo "PDO::FETCH_OBJ: ";
echo "Devuelve la siguiente línea como un objeto stdClass con los nombres de las columnas como propiedades\n";
$result = $sth->fetch(PDO::FETCH_OBJ);
var_dump($result);
echo "\n";
?>
El ejemplo anterior mostrará:
PDO::FETCH_ASSOC: Devuelve la siguiente línea como un array indexado por el nombre de la columna
array(2) {
["name"]=>
string(5) "apple"
["colour"]=>
string(3) "red"
}
PDO::FETCH_BOTH: Devuelve la siguiente línea como un array indexado por el nombre y el número de la columna
array(4) {
["name"]=>
string(6) "banana"
[0]=>
string(6) "banana"
["colour"]=>
string(6) "yellow"
[1]=>
string(6) "yellow"
}
PDO::FETCH_LAZY: Devuelve la siguiente línea como un objeto PDORow con los nombres de las columnas como propiedades
object(PDORow)#3 (3) {
["queryString"]=>
string(30) "SELECT name, colour FROM fruit"
["name"]=>
string(6) "orange"
["colour"]=>
string(6) "orange"
}
PDO::FETCH_OBJ: Devuelve la siguiente línea como un objeto stdClass con los nombres de las columnas como propiedades
object(stdClass)#4 (2) {
["name"]=>
string(4) "kiwi"
["colour"]=>
string(5) "green"
}