(PECL ibm_db2 >= 1.0.0)
db2_fetch_object — Devolver un objeto con atributos que representan a las columnas de una fila extraida
$stmt
[, int $row_number
= -1
] ) : objectDevuelve un objeto en el que cada atributo representa una columna devuelta de una fila extraida del bloque de resultados.
stmt
Un recurso stmt válido que contenga el bloque de resultados.
row_number
Solicita una fila específica, indexada a partir de uno, del bloque de resultados. Este parámetro provoca una advertencia de PHP si los resultados utilizan cursor de no-recorrido.
Devuelve un objeto que representa una fila del bloque de resultados. Los atributos del objeto son creados a partir de los nombres de las columnas del resultado.
Los servidores de base de datos como IBM DB2, Cloudscape, y Apache Derby usualmente convierten a mayúsculas los nombres de las columnas por lo que esto se verá reflejado en los atributos del objeto.
Si una sentencia SELECT a su vez llama a una función escalar para modificar el valor de una columna, los servidores de base de datos devuelven el número de la columna como si fuera el nombre de la misma para ser usada como atributo. Si se quiere un nombre de columna más descriptivo, se puede usar la clausula AS para asignar un alias a la columna del resultado.
Devuelve FALSE
si no hay fila devuelta.
Ejemplo #1 Ejemplo de db2_fetch_object()
El siguiente ejemplo ejecuta una sentencia SELECT con una función escalar (RTRIM) que elimina espacios al final de la columna. En lugar de crear un objeto con las propiedades "BREED" y "2", se utilizará la claúsula AS en la sentencia SELECT para asignar el nombre "name" a la columna modificada. El servidor de base de datos convierte los nombres de las columnas a mayúsculas, lo que resultará en un objeto con los atributos "BREED" y "NAME".
<?php
$conn = db2_connect($database, $user, $password);
$sql = "SELECT breed, RTRIM(name) AS name
FROM animals
WHERE id = ?";
if ($conn) {
$stmt = db2_prepare($conn, $sql);
db2_execute($stmt, array(0));
while ($pet = db2_fetch_object($stmt)) {
echo "Come here, {$pet->NAME}, my little {$pet->BREED}!";
}
db2_close($conn);
}
?>
El resultado del ejemplo sería:
Come here, Pook, my little cat!