PHP 5.4.33 Released

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

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 5 notes

up
14
PhoneixSegovia at GOOGLE_MAIL_SERVER dot com
3 years ago
fetchColumn return boolean false when a row not is found or don't had more rows.
up
11
seanferd at assmasterdonkeyranch dot com
7 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
nobody
9 days ago
In response to php at luka5 dot de, you cannot assume that the example above is incorrect because we did not see the datasource.  If you look, the first column (name) of the first row was 'lemon' and the 2nd column (color) of the 2nd row was red.

If I had to assume, I would suspect the data source did not hold a red lemon.
up
-1
php at luka5 dot de
18 days ago
> There is no way to return another column from the same row if you use PDOStatement::fetchColumn() to retrieve data.

The example above does not work, because we call fetchColumn twice.
up
-13
Nathan Pohpam
2 years ago
WARNING: PhoenixSegovia isn't quite correct. Perhaps it's implementation-dependent, but fetchColumn returns the empty string in my program. Beware!
To Top