PDOStatement::fetch — Obtiene la siguiente fila del conjunto de resultados (PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
PDOStatement::fetch mixto ([ int $fetch_style [, int $cursor_orientation = PDO::FETCH_ORI_NEXT [, int $cursor_offset = 0 ]]] )
Obtiene la siguiente fila del conjunto de resultados asociado a un objeto PDOStatement. El parámetro fetch_style determina cómo el POD devuelve filas.
buscar_estilo
Controla cómo se devuelve la siguiente línea a la persona que llama. Este valor debe ser uno de la serie de constantes PDO::FETCH_* y el valor predeterminado es el valor de PDO::ATTR_DEFAULT_FETCH_MODE (el valor predeterminado es PDO::FETCH_BOTH).
PDO::FETCH_ASSOC : Devuelve una matriz indexada por el nombre de la columna del conjunto de resultados
PDO::FETCH_BOTH (predeterminado): devuelve una matriz indexada por el nombre de la columna del conjunto de resultados y el número de columna que comienza con 0
PDO::FETCH_BOUND : Devuelve TRUE
y asigna el valor de la columna en el conjunto de resultados a la variable PHP vinculada por el método PDOStatement::bindColumn().
PDO::FETCH_CLASS : Devuelve una nueva instancia de la clase solicitada, asignando los nombres de las columnas en el conjunto de resultados a los nombres de atributos correspondientes en la clase. Si fetch_style
contiene PDO::FETCH_CLASSTYPE (por ejemplo: PDO::FETCH_CLASS | PDO::FETCH_CLASSTYPE ), el nombre de la clase está determinado por el valor de la primera columna
PDO::FETCH_INTO : Actualiza una instancia existente de la clase solicitada, asignando columnas en el conjunto de resultados a atributos nombrados en la clase.
PDO::FETCH_LAZY : Utilice PDO::FETCH_BOTH y PDO::FETCH_OBJ en combinación para crear un nombre de variable de objeto para acceso
PDO::FETCH_NUM : Devuelve una matriz indexada al número de columna del conjunto de resultados que comienza con 0
PDO::FETCH_OBJ : Devuelve un objeto anónimo cuyo nombre de atributo corresponde al nombre de la columna del conjunto de resultados.
cursor_orientation Para un cursor desplazable representado por un objeto PDOStatement, este valor determina qué fila se devolverá a la persona que llama. Este valor debe ser uno de la serie de constantes PDO::FETCH_ORI_* y el valor predeterminado es PDO::FETCH_ORI_NEXT. Para que el objeto PDOStatement utilice un cursor desplazable, debe establecer el atributo PDO::ATTR_CURSOR en PDO::CURSOR_SCROLL cuando utilice PDO::prepare() para preparar la declaración SQL.
offsetPara un cursor desplazable representado por un objeto PDOStatement con el parámetro cursor_orientation establecido en PDO::FETCH_ORI_ABS, este valor especifica el número de fila absoluto de la fila en el conjunto de resultados que se va a recuperar. Para un cursor desplazable representado por un objeto PDOStatement con el parámetro cursor_orientation establecido en PDO::FETCH_ORI_REL, este valor especifica la posición de la fila que se recuperará en relación con el cursor antes de llamar a PDOStatement::fetch()
El valor devuelto por esta función (método) en caso de éxito depende del tipo de extracción. En todos los casos, el error devuelve FALSO.
<?php$sth = $dbh->prepare("SELECCIONE nombre, color DE la fruta");$sth->execute();/* Utilice PDOStatement::fetch style*/print("PDO::FETCH_ASSOC: ") ;print("Devuelve la siguiente fila como una matriz indexada por el nombre de la columnan");$resultado = $sth->fetch(PDO::FETCH_ASSOC);print_r($resultado);print("n");print("PDO::FETCH_BOTH: ");print("Devuelve la siguiente fila como una matriz indexada por ambas columnas nombre y númeron");$resultado = $sth->fetch(PDO::FETCH_BOTH);print_r($resultado);print("n");print("PDO::FETCH_LAZY: ");print("Devuelve la siguiente fila como un objeto anónimo con nombres de columnas como propiedadesn");$resultado = $sth->fetch(PDO::FETCH_LAZY);print_r($resultado);print("n");print("PDO::FETCH_OBJ: ");print("Devuelve la siguiente fila como un objeto anónimo con nombres de columnas como propiedadesn");$resultado = $algo->fetch(PDO::FETCH_OBJ);imprimir $resultado->NOMBRE;imprimir("n");?>
El ejemplo anterior generará:
PDO::FETCH_ASSOC: Devuelve la siguiente fila como una matriz indexada por el nombre de la columnaArray( [NOMBRE] => manzana [COLOR] => rojo)PDO::FETCH_BOTH: Devuelve la siguiente fila como una matriz indexada tanto por el nombre de la columna como por el númeroArray( [NOMBRE ] => plátano [0] => plátano [COLOR] => amarillo [1] => amarillo)PDO::FETCH_LAZY: Devuelve la siguiente fila como un objeto anónimo con nombres de columnas como propiedadesPDORow Object( [NOMBRE] => naranja [COLOR] => naranja)PDO::FETCH_OBJ: Devuelve la siguiente fila como un objeto anónimo con nombres de columnas como propiedadeskiwi
<?phpfunction readDataForwards($dbh) { $sql = 'SELECCIONAR mano, ganada, apuesta DE misnúmeros ORDENAR POR APUESTA'; intente { $stmt = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO: :CURSOR_SCROLL)); $stmt->ejecutar(); mientras ($fila = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_NEXT)) { $datos = $fila[0] "t" $fila[1] "t" $fila[2] . n"; imprimir $datos; } $stmt = null; } catch (PDOException $e) { imprimir $e->getMessage(); }}función readDataBackwards($dbh) { $sql = 'SELECCIONAR mano, ganada, apuesta DESDE misnúmeros ORDENAR POR apuesta'; ); $stmt->ejecutar(); $fila = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_LAST); hacer { $datos = $fila[0] . "n"; imprimir $datos; } mientras ($fila = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_PRIOR)); $stmt = null } catch (PDOException $e) { print $e->getMessage() }}print "Leyendo hacia adelante:n";readDataForwards($conn);print "Leyendo hacia atrás :n";readDataBackwards($conn);?>
El ejemplo anterior generará:
Lectura hacia adelante:21 10 516 0 519 20 10Lectura hacia atrás:19 20 1016 0 521 10 5