PDOStatement :: fetch
PDOStatement :: fetch - foco em resultados obtidos a partir da próxima linha (PHP 5> = 5.1.0, PECL pdo> = 0.1.0)
explicação
gramática
mixed PDOStatement::fetch ([ int $fetch_style [, int $cursor_orientation = PDO::FETCH_ORI_NEXT [, int $cursor_offset = 0 ]]] )
De um PDOStatement objeto conjunto de resultados associado recebe a próxima linha. parâmetro fetch_style POD determina como as linhas são retornadas.
parâmetros
fetch_style
Como para controlar a próxima linha é devolvida ao chamador. Este valor deve ser PDO :: fetch_ * constantes em uma série, o valor padrão para o PDO :: ATTR_DEFAULT_FETCH_MODE (default PDO :: FETCH_BOTH).
PDO :: FETCH_ASSOC: retorna uma matriz indexada nomes do conjunto de resultados de coluna
PDO :: FETCH_BOTH (padrão): retorna um resultado matriz índice definidos nomes de coluna que começa com 0 e número de coluna
PDO :: FETCH_BOUND: retorna
TRUE
, variáveis PHP e atribuir valores para as colunas no conjunto de resultados método PDOStatement :: bindColumn () vinculativo.PDO :: FETCH_CLASS: um pedido para retornar uma nova instância da classe, mapeando nomes de coluna no conjunto de resultados para o nome da classe da propriedade correspondente. Se
fetch_style
contém DOP :: FETCH_CLASSTYPE (por exemplo: DOP :: FETCH_CLASS | DOP :: FETCH_CLASSTYPE ), o nome de classe é determinada pelo valor da primeira colunaPDO :: FETCH_INTO: Atualize uma instância pedido classe existente mapeada para colunas na propriedade de classe conjunto de resultados nomeado
PDO :: FETCH_LAZY: em conjunto com PDO :: FETCH_BOTH e PDO :: FETCH_OBJ, para a criação de um nome de variável de objeto usado para o acesso
PDO :: FETCH_NUM: um retorno ao número zero indexados coluna da matriz conjunto de resultados
PDO :: FETCH_OBJ: Retorna um nome de propriedade que correspondem aos nomes das colunas conjunto de resultados objetos anônimos
cursor_orientation
Para um objecto PDOStatement representando um cursor deslocável, este valor determina qual linha é devolvida ao chamador. Este valor deve ser PDO :: FETCH_ORI_ * constantes em uma série, o padrão é PDO :: FETCH_ORI_NEXT. Para chegar PDOStatement objeto usando cursores de rolagem, você deve usar quando PDO :: prepare) declarações pré-tratamento SQL (, defina a PDO :: ATTR_CURSOR atribuir PDO :: CURSOR_SCROLL.
compensar
Para um parâmetro cursor_orientation está definido para PDO :: objeto PDOStatement representando um cursores deslocáveis FETCH_ORI_ABS, este valor especifica o conjunto de resultados que você deseja obter a absoluta linha número da linha.
Para um parâmetro cursor_orientation está definido para PDO :: FETCH_ORI_REL o objeto PDOStatement representando um cursor de rolagem, este valor especifica o PDOStatement chamada :: fetch () antes da posição do cursor em relação à linha que você deseja obter
Valor de retorno
Voltar quando este valor da função (método) depende do tipo de extracção bem sucedida. Em todos os casos, a falha retorna FALSE.
Exemplos
Obter remar com diferentes métodos de extração
<?php $sth = $dbh->prepare("SELECT name, colour FROM fruit"); $sth->execute(); /* 运用 PDOStatement::fetch 风格 */ 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"); ?>
Os exemplos acima irá imprimir:
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] => 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
Use um cursor de rolagem buscar linhas
<?php function readDataForwards($dbh) { $sql = 'SELECT hand, won, bet FROM mynumbers ORDER BY BET'; try { $stmt = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL)); $stmt->execute(); while ($row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_NEXT)) { $data = $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n"; print $data; } $stmt = null; } catch (PDOException $e) { print $e->getMessage(); } } function readDataBackwards($dbh) { $sql = 'SELECT hand, won, bet FROM mynumbers ORDER BY bet'; try { $stmt = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL)); $stmt->execute(); $row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_LAST); do { $data = $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n"; print $data; } while ($row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_PRIOR)); $stmt = null; } catch (PDOException $e) { print $e->getMessage(); } } print "Reading forwards:\n"; readDataForwards($conn); print "Reading backwards:\n"; readDataBackwards($conn); ?>
Os exemplos acima irá imprimir:
Reading forwards: 21 10 5 16 0 5 19 20 10 Reading backwards: 19 20 10 16 0 5 21 10 5