PHP 8.4.1 Released!

PDOStatement::fetchColumn

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

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

Description

public PDOStatement::fetchColumn(int $column = 0): mixed

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

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 ou false s'il n'y a plus de lignes.

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.

Erreurs / Exceptions

Émet une erreur de niveau E_WARNING si l'attribut PDO::ATTR_ERRMODE est défini à PDO::ERRMODE_WARNING.

Lève une exception PDOException si l'attribut PDO::ATTR_ERRMODE est défini à PDO::ERRMODE_EXCEPTION.

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

print
"Récupère la deuxième colonne depuis la seconde ligne 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 première ligne d'un jeu de résultats :
nom=lemon
Récupère la deuxième colonne depuis la seconde ligne d'un jeu de résultats :
couleur=orange

Voir aussi

add a note

User Contributed Notes 3 notes

up
52
PhoneixSegovia at GOOGLE_MAIL_SERVER dot com
14 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
17 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
theking2(at)king.ma
10 months ago
When migrating from mysqli it is important that while mysqli_result::fetch_column will iterate over subsequent rows PDOStatement::fetchColumn will NOT!

<?php
while ( $row0 = $db->query("SELECT `value` FROM `bool`")->fetchColumn(0) ) {
var_dump( $row0 );
}
?>

is an endless loop unless the first column in the first row of the table bool is "0".
To Top