Latest web development tutorials
×

PHP cours

PHP cours PHP Brève introduction PHP installer PHP grammaire PHP variable PHP echo/print PHP Types de données PHP constante PHP chaîne PHP opérateurs PHP If...Else PHP Switch PHP tableau PHP Tri d'un tableau PHP Superglobales PHP While circulation PHP For circulation PHP fonction PHP Variables magiques PHP Namespaces PHP Object-Oriented

PHP forme

PHP forme PHP Authentification Forms PHP forme - Les champs obligatoires PHP forme - email de vérification et d'URL PHP Complète instance de formulaire PHP $_GET variable PHP $_POST variable

PHP Tutorial avancée

PHP Les tableaux multidimensionnels PHP date PHP contenir PHP fichier PHP File Upload PHP Cookie PHP Session PHP E-mail PHP sécurité E-mail PHP Error PHP Exception PHP filtre PHP filtre avancé PHP JSON

PHP 7 Nouvelles fonctionnalités

PHP 7 Nouvelles fonctionnalités

PHP Base de données

PHP MySQL Brève introduction PHP MySQL raccordement PHP MySQL La création d'une base de données PHP MySQL Créer une table de données PHP MySQL Insérer des données PHP MySQL Insérez des données multiples PHP MySQL Déclarations préparées PHP MySQL Lire les données 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 Brève introduction AJAX PHP AJAX Base de données AJAX XML AJAX Recherche en temps réel AJAX RSS Reader AJAX vote

PHP Manuel de référence

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 Traitement de l'image PHP RESTful

PDOStatement :: fetchAll

Manuel PHP PDO Référence Manuel PHP PDO Référence

PDOStatement :: fetchAll - retourne un tableau de toutes les lignes du jeu de résultats (PHP 5> = 5.1.0, PECL pdo> = 0.1.0)


explication

grammaire

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

Paramètres

fetch_style

Comment contrôler la ligne suivante est renvoyée à l'appelant. Cette valeur doit être PDO :: FETCH_ * constantes dans une série, la valeur par défaut pour le PDO :: ATTR_DEFAULT_FETCH_MODE (par défaut PDO :: FETCH_BOTH).

Pour retourner un jeu de résultats qui contient un tableau de toutes les valeurs dans une seule colonne, vous devez spécifier PDO :: FETCH_COLUMN. Obtenez les colonnes désirées en spécifiant le paramètre column-index.

Vous voulez obtenir l'ensemble des valeurs uniques de résultat dans une seule colonne, vous devez PDO :: FETCH_COLUMN et PDO :: bitwise FETCH_UNIQUE ou.

Pour revenir une colonne basée sur la valeur spécifiée du tableau associatif groupé, nous avons besoin de PDO :: FETCH_COLUMN et PDO :: bitwise FETCH_GROUP ou.

fetch_argument
fetch_style paramètre basé sur la valeur de ce paramètre a une signification différente:

  • PDO::FETCH_COLUMN : Retourne les colonnes zéro indexées.

  • PDO::FETCH_CLASS : renvoie une instance de la classe spécifiée, la colonne de mappage pour chaque ligne correspondant à la classe nom d' attribut.

  • PDO::FETCH_FUNC : la colonne de chaque ligne comme un argument à la fonction spécifiée, et renvoie le résultat après la fonction d' appel.

ctor_args
Lorsque les paramètres fetch_style PDO :: FETCH_CLASS, puisque la définition des paramètres du constructeur de classe.


Valeur de retour

PDOStatement :: fetchAll () retourne un jeu de résultats qui contient un tableau de toutes les lignes restantes. Chaque ligne de ce tableau est un tableau ou une valeur de colonne, ou un attribut de l'objet correspondant à chaque nom de colonne.

Utilisez cette méthode pour obtenir un grand jeu de résultats entraînera la charge du système et peut prendre beaucoup de ressources réseau. Récupérez toutes les données et son utilisation PHP pour fonctionner, il serait préférable d'envisager l'utilisation des services de base de données pour faire face à l'ensemble de résultats. Par exemple, avant et récupérer des données à travers le processus de PHP pour définir les résultats avec WHERE et ORDER BY clauses SQL.


Exemples

Obtenez toutes les lignes restantes dans le jeu de résultats

<?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);
?>

La sortie de l'exemple ci-dessus est la suivante:

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
        )

)

Être un seul résultat réglé toutes les valeurs

L'exemple suivant montre comment se concentrer une déclaration distincte de toutes les valeurs d'un résultat, même si l'instruction SQL elle-même peut retourner plusieurs colonnes par rangée.

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

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

La sortie de l'exemple ci-dessus est la suivante:

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

Selon un groupe distinct toutes les valeurs

L'exemple suivant montre comment retourner une valeur de la colonne spécifiée tableau associatif centralisé sur la base des résultats du paquet. Le tableau contient trois clés: pomme et poire tableau retourné contient deux couleurs différentes, alors que la pastèque retourné tableau contient une seule couleur.

<?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));
?>

La sortie de l'exemple ci-dessus est la suivante:

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"
  }
}

Chaque ligne du résultat instancier une classe

Liezi ci-dessous montre PDO :: FETCH_CLASS Obtient le comportement de style.

<?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);
?>

La sortie de l'exemple ci-dessus est la suivante:

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"
  }
}

Chaque ligne appelle une fonction

Liezi ci-dessous montre PDO :: FETCH_FUNC Obtient le comportement de style.

<?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);
?>

La sortie de l'exemple ci-dessus est la suivante:

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

Manuel PHP PDO Référence Manuel PHP PDO Référence