Latest web development tutorials
×

PHP curso

PHP curso PHP breve introdução PHP instalar PHP gramática PHP variável PHP echo/print PHP Tipos de dados PHP constante PHP corda PHP operadores PHP If...Else PHP Switch PHP ordem PHP Classificação de uma matriz PHP superglobais PHP While circulação PHP For circulação PHP função PHP Variáveis ​​mágicas PHP namespaces PHP Object-Oriented

PHP formulário

PHP formulário PHP Autenticação de formulários PHP formulário - campos obrigatórios PHP formulário - -mail de verificação e URL PHP instância de formulário completo PHP $_GET variável PHP $_POST variável

PHP Tutorial avançado

PHP arrays multidimensionais PHP data PHP conter PHP arquivo PHP Carregar arquivo PHP Cookie PHP Session PHP E-mail PHP segurança E-mail PHP Error PHP Exception PHP filtro PHP Filtro avançado PHP JSON

PHP 7 novos Recursos

PHP 7 novos Recursos

PHP banco de dados

PHP MySQL breve introdução PHP MySQL conexão PHP MySQL Criação de um banco de dados PHP MySQL Criar uma tabela de dados PHP MySQL inserir dados PHP MySQL Inserir dados múltiplos PHP MySQL instruções preparadas PHP MySQL ler dados PHP MySQL WHERE PHP MySQL ORDER BY PHP MySQL UPDATE PHP MySQL DELETE PHP ODBC

PHP XML

XML Expat Parser XML DOM XML SimpleXML

PHP & AJAX

AJAX breve introdução AJAX PHP AJAX banco de dados AJAX XML AJAX busca em tempo real AJAX RSS Reader AJAX voto

PHP manual de referência

PHP Array PHP Calendar PHP cURL PHP Date PHP Directory PHP Error PHP Filesystem PHP Filter PHP FTP PHP HTTP PHP Libxml PHP Mail PHP Math PHP Misc PHP MySQLi PHP PDO PHP SimpleXML PHP String PHP XML PHP Zip PHP Timezones PHP Processamento de imagem PHP RESTful

PDOStatement :: fetchAll

Manual do PHP DOP Referência Manual do PHP DOP Referência

PDOStatement :: fetchAll - retorna uma matriz de todas as linhas no conjunto de resultados (PHP 5> = 5.1.0, PECL pdo> = 0.1.0)


explicação

gramática

array PDOStatement::fetchAll ([ int $fetch_style [, mixed $fetch_argument [, array $ctor_args = array() ]]] )

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).

Para retornar um conjunto de resultados que contém uma matriz de todos os valores em uma única coluna, você precisa especificar PDO :: FETCH_COLUMN. Obter as colunas desejadas especificando parâmetro coluna de índice.

Deseja obter o conjunto de resultados de valores exclusivos em uma única coluna, você precisa PDO :: FETCH_COLUMN e PDO :: bit a bit FETCH_UNIQUE ou.

Para retornar uma coluna com base no valor especificado da matriz associativa agrupados, precisamos PDO :: FETCH_COLUMN e PDO :: bit a bit FETCH_GROUP ou.

fetch_argument
Fetch_style parâmetro com base no valor deste parâmetro tem um significado diferente:

  • PDO::FETCH_COLUMN : Volta para as colunas de zero-indexados.

  • PDO::FETCH_CLASS : retorna uma instância da classe especificada, a coluna de mapeamento para cada linha correspondente à classe nome de atributo.

  • PDO::FETCH_FUNC : a coluna de cada linha como um argumento para a função especificada, e retorna o resultado depois de chamar a função.

ctor_args
Quando os parâmetros fetch_style PDO :: FETCH_CLASS, uma vez que a definição dos parâmetros do construtor de classe.


Valor de retorno

PDOStatement :: fetchAll () retorna um conjunto de resultados que contém uma matriz de todas as linhas restantes. Cada linha dessa matriz é uma matriz ou um valor de coluna ou um atributo de objeto correspondente a cada nome de coluna.

Utilize este método para obter um grande conjunto de resultados fará com que a carga do sistema e pode levar até um monte de recursos de rede. Recuperar todos os dados e seu uso PHP para operar, seria melhor considerar o uso de serviços de banco de dados para lidar com o conjunto de resultados. Por exemplo, antes e recuperar dados através do processo de PHP para definir os resultados com WHERE e cláusulas ORDER BY em SQL.


Exemplos

Obter todas as linhas restantes no conjunto de resultados

<?php
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* 获取结果集中所有剩余的行 */
print("Fetch all of the remaining rows in the result set:\n");
$result = $sth->fetchAll();
print_r($result);
?>

A saída do exemplo acima é:

Fetch all of the remaining rows in the result set:
Array
(
    [0] => Array
        (
            [NAME] => pear
            [0] => pear
            [COLOUR] => green
            [1] => green
        )

    [1] => Array
        (
            [NAME] => watermelon
            [0] => watermelon
            [COLOUR] => pink
            [1] => pink
        )

)

Sendo um único resultado definir todos os valores

O exemplo a seguir demonstra como a concentrar-se um retorno separado todos os valores de um resultado, mesmo que a instrução SQL em si pode retornar várias colunas por linha.

<?php
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* 获取第一列所有值 */
$result = $sth->fetchAll(PDO::FETCH_COLUMN, 0);
var_dump($result);
?>

A saída do exemplo acima é:

Array(3)
(
    [0] =>
    string(5) => apple
    [1] =>
    string(4) => pear
    [2] =>
    string(10) => watermelon
)

De acordo com um agrupamento separado todos os valores

O exemplo que se segue demonstra como devolver um valor de coluna especificada matriz associativa centralizada com base nos resultados do pacote. A matriz contém três teclas: Maçã e pêra array retornado contém duas cores diferentes, enquanto melancia voltou matriz contém apenas uma cor.

<?php
$insert = $dbh->prepare("INSERT INTO fruit(name, colour) VALUES (?, ?)");
$insert->execute(array('apple', 'green'));
$insert->execute(array('pear', 'yellow'));

$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* 根据第一列分组  */
var_dump($sth->fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_GROUP));
?>

A saída do exemplo acima é:

array(3) {
  ["apple"]=>
  array(2) {
    [0]=>
    string(5) "green"
    [1]=>
    string(3) "red"
  }
  ["pear"]=>
  array(2) {
    [0]=>
    string(5) "green"
    [1]=>
    string(6) "yellow"
  }
  ["watermelon"]=>
  array(1) {
    [0]=>
    string(5) "green"
  }
}

Cada linha no resultado instanciar uma classe

Liezi abaixo demonstra PDO :: FETCH_CLASS Obtém comportamento estilo.

<?php
class fruit {
    public $name;
    public $colour;
}

$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

$result = $sth->fetchAll(PDO::FETCH_CLASS, "fruit");
var_dump($result);
?>

A saída do exemplo acima é:

array(3) {
  [0]=>
  object(fruit)#1 (2) {
    ["name"]=>
    string(5) "apple"
    ["colour"]=>
    string(5) "green"
  }
  [1]=>
  object(fruit)#2 (2) {
    ["name"]=>
    string(4) "pear"
    ["colour"]=>
    string(6) "yellow"
  }
  [2]=>
  object(fruit)#3 (2) {
    ["name"]=>
    string(10) "watermelon"
    ["colour"]=>
    string(4) "pink"
  }
}

Cada linha chama uma função

Liezi abaixo demonstra PDO :: FETCH_FUNC Obtém comportamento estilo.

<?php
function fruit($name, $colour) {
    return "{$name}: {$colour}";
}

$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

$result = $sth->fetchAll(PDO::FETCH_FUNC, "fruit");
var_dump($result);
?>

A saída do exemplo acima é:

array(3) {
  [0]=>
  string(12) "apple: green"
  [1]=>
  string(12) "pear: yellow"
  [2]=>
  string(16) "watermelon: pink"
}

Manual do PHP DOP Referência Manual do PHP DOP Referência