PDOStatement::fetch — Obtém a próxima linha do conjunto de resultados (PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
misto PDOStatement::fetch ([ int $fetch_style [, int $cursor_orientation = PDO::FETCH_ORI_NEXT [, int $cursor_offset = 0 ]]] )
Obtém a próxima linha do conjunto de resultados associado a um objeto PDOStatement. O parâmetro fetch_style determina como o POD retorna linhas.
buscar_style
Controla como a próxima linha é retornada ao chamador. Este valor deve ser uma das séries de constantes PDO::FETCH_* e o padrão é o valor de PDO::ATTR_DEFAULT_FETCH_MODE (o padrão é PDO::FETCH_BOTH).
PDO::FETCH_ASSOC : Retorna um array indexado pelo nome da coluna do conjunto de resultados
PDO::FETCH_BOTH (padrão): Retorna uma matriz indexada pelo nome da coluna do conjunto de resultados e pelo número da coluna começando com 0
PDO::FETCH_BOUND : Retorna TRUE
e atribui o valor da coluna no conjunto de resultados à variável PHP vinculada pelo método PDOStatement::bindColumn().
PDO::FETCH_CLASS : Retorna uma nova instância da classe solicitada, mapeando os nomes das colunas no conjunto de resultados para os nomes dos atributos correspondentes na classe. Se fetch_style
contiver PDO::FETCH_CLASSTYPE (por exemplo: PDO::FETCH_CLASS | PDO::FETCH_CLASSTYPE ), o nome da classe será determinado pelo valor da primeira coluna
PDO::FETCH_INTO : Atualiza uma instância existente da classe solicitada, mapeando colunas no conjunto de resultados para atributos nomeados na classe
PDO::FETCH_LAZY : Use PDO::FETCH_BOTH em conjunto com PDO::FETCH_OBJ para criar um nome de variável de objeto para acesso
PDO::FETCH_NUM : Retorna um array indexado ao número da coluna do conjunto de resultados começando com 0
PDO::FETCH_OBJ : Retorna um objeto anônimo cujo nome do atributo corresponde ao nome da coluna do conjunto de resultados
cursor_orientation Para um cursor rolável representado por um objeto PDOStatement, esse valor determina qual linha será retornada ao chamador. Este valor deve ser uma das séries de constantes PDO::FETCH_ORI_* e o padrão é PDO::FETCH_ORI_NEXT. Para fazer com que o objeto PDOStatement use um cursor rolável, você deve definir o atributo PDO::ATTR_CURSOR como PDO::CURSOR_SCROLL ao usar PDO::prepare() para preparar a instrução SQL.
offsetPara um cursor rolável representado por um objeto PDOStatement com o parâmetro cursor_orientation definido como PDO::FETCH_ORI_ABS, esse valor especifica o número absoluto da linha no conjunto de resultados que deve ser recuperada. Para um cursor rolável representado por um objeto PDOStatement com o parâmetro cursor_orientation definido como PDO::FETCH_ORI_REL, este valor especifica a posição da linha a ser buscada em relação ao cursor antes de chamar PDOStatement::fetch()
O valor retornado por esta função (método) em caso de sucesso depende do tipo de extração. Em todos os casos, a falha retorna FALSE.
<?php$sth = $dbh->prepare("SELECT nome, cor FROM fruta");$sth->execute();/* Use PDOStatement::fetch style*/print("PDO::FETCH_ASSOC: ") ;print("Retorna a próxima linha como um array indexado pelo nome da colunan");$resultado = $sth->fetch(PDO::FETCH_ASSOC);print_r($result);print("n");print("PDO::FETCH_BOTH: ");print("Retorna a próxima linha como um array indexado por ambas as colunas nome e númeron");$resultado = $sth->fetch(PDO::FETCH_BOTH);print_r($result);print("n");print("PDO::FETCH_LAZY: ");print("Retorna a próxima linha como um objeto anônimo com nomes de colunas como propriedadesn");$resultado = $sth->fetch(PDO::FETCH_LAZY);print_r($result);print("n");print("PDO::FETCH_OBJ: ");print("Retorna a próxima linha como um objeto anônimo com nomes de colunas como propriedadesn");$resultado = $sth->fetch(PDO::FETCH_OBJ);imprimir $resultado->NOME;print("n");?>
O exemplo acima produzirá:
PDO::FETCH_ASSOC: Retorna a próxima linha como um array indexado pela coluna nameArray( [NAME] => apple [COLOUR] => red)PDO::FETCH_BOTH: Retorna a próxima linha como um array indexado pelo nome da coluna e numberArray( [NAME ] => banana [0] => banana [COLOUR] => amarelo [1] => amarelo)PDO::FETCH_LAZY: Retorna a próxima linha como um objeto anônimo com nomes de colunas como propriedadesPDORow Object( [NAME] => orange [COLOUR] => orange)PDO::FETCH_OBJ: Retorna a próxima linha como um objeto anônimo com nomes de colunas como propriedadeskiwi
<?phpfunction readDataForwards($dbh) { $sql = 'SELECT mão, ganha, aposta FROM meus números ORDER BY BET'; :CURSOR_SCROLL)); $stmt->executar(); $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_NEXT)) { $data = $row[0] . n"; imprimir $dados; } $stmt = null; } catch (PDOException $e) { imprimir $e->getMessage(); }}função readDataBackwards($dbh) { $sql = 'SELECT mão, ganha, aposta FROM meus números ORDER BY aposta'; try { $stmt = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL) ); $stmt->executar(); $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_LAST); faça { $data = $row[0] . "n"; imprimir $dados } while ($row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_PRIOR)); $stmt = null } catch (PDOException $e) { print $e->getMessage(); :n";readDataBackwards($conn);?>
O exemplo acima produzirá:
Lendo para frente:21 10 516 0 519 20 10Leitura para trás:19 20 1016 0 521 10 5