PHPKonf İstanbul PHP Conference 2015

PDOStatement::fetchColumn

(PHP 5 >= 5.1.0, PECL pdo >= 0.9.0)

PDOStatement::fetchColumn Retourne une colonne depuis la ligne suivante d'un jeu de résultats

Description

public mixed PDOStatement::fetchColumn ([ int $column_number = 0 ] )

Retourne une colonne depuis la ligne suivante d'un jeu de résultats ou FALSE s'il n'y a plus de ligne.

Note:

PDOStatement::fetchColumn() ne doit pas être utilisé pour récupérer des colonnes contenant des booléens, car il n'est pas possible de distinguer une valeur FALSE d'un retour avec aucune ligne à récupérer. Utilisez PDOStatement::fetch() à la place.

Liste de paramètres

column_number

Numéro de la colonne que vous voulez récupérer depuis la ligne (commençant à 0). Si aucune valeur n'est fournie, PDOStatement::fetchColumn() récupérera la première colonne.

Valeurs de retour

PDOStatement::fetchColumn() retourne une colonne depuis la ligne suivante d'un jeu de résultats.

Avertissement

Il n'y a pas de solution pour retourner une autre colonne depuis la même ligne si vous utilisez la fonction PDOStatement::fetchColumn() pour récupérer les données.

Exemples

Exemple #1 Retourne la première colonne de la ligne suivante

<?php
$sth 
$dbh->prepare("SELECT nom, couleur FROM fruit");
$sth->execute();

/* Récupère la première colonne depuis la ligne suivante d'un jeu de résultats */
print("Récupère la première colonne depuis la ligne suivante d'un jeu de résultats :\n");
$result $sth->fetchColumn();
print(
"nom=$result\n");

print(
"Récupère la deuxième colonne depuis la ligne suivante d'un jeu de résultats :\n");
$result $sth->fetchColumn(1);
print(
"couleur=$result\n");
?>

L'exemple ci-dessus va afficher :

Récupère la première colonne depuis la ligne suivante d'un jeu de résultats :
nom=lemon
Récupère la deuxième colonne depuis la ligne suivante d'un jeu de résultats :
couleur=orange

Voir aussi

add a note add a note

User Contributed Notes 3 notes

up
19
PhoneixSegovia at GOOGLE_MAIL_SERVER dot com
4 years ago
fetchColumn return boolean false when a row not is found or don't had more rows.
up
6
seanferd at assmasterdonkeyranch dot com
8 years ago
This is an excellent method for returning a column count. For example:

<?php
$db
= new PDO('mysql:host=localhost;dbname=pictures','user','password');
$pics = $db->query('SELECT COUNT(id) FROM pics');
$this->totalpics = $pics->fetchColumn();
$db = null;
?>
In my case $pics->fetchColumn() returns 641 because that is how many pictures I have in my db.
up
0
gaiusgracchus33 at gmail dot com
28 days ago
It looks like the example may be saying it is fetching the second column from the NEXT row, not the same one that returned 'lemon' for name.   The warning message says you can't return another column from the SAME row after fetchColumn().
To Top