PHP 8.5.0 Alpha 1 available for testing

PDOStatement::fetchColumn

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

PDOStatement::fetchColumn Devuelve una columna de la siguiente fila de un conjunto de resultados

Descripción

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

Devuelve una columna de la siguiente fila de un conjunto de resultados o false si no hay más filas.

Nota:

PDOStatement::fetchColumn() no debe usarse para recuperar columnas que contengan valores booleanos, ya que no es posible distinguir un valor false de un retorno sin filas para recuperar. Utilice PDOStatement::fetch() en su lugar.

Parámetros

column

Número de la columna que se desea recuperar de la fila (comenzando en 0). Si no se proporciona ningún valor, PDOStatement::fetchColumn() recuperará la primera columna.

Valores devueltos

PDOStatement::fetchColumn() devuelve una columna de la siguiente fila de un conjunto de resultados o false si no hay más filas.

Advertencia

No existe solución para recuperar otra columna de la misma fila si se utiliza la función PDOStatement::fetchColumn() para obtener los datos.

Errores/Excepciones

Emits an error with level E_WARNING if the attribute PDO::ATTR_ERRMODE is set to PDO::ERRMODE_WARNING.

Throws a PDOException if the attribute PDO::ATTR_ERRMODE is set to PDO::ERRMODE_EXCEPTION.

Ejemplos

Ejemplo #1 Devuelve la primera columna de la siguiente fila

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

/* Recupera la primera columna de la primera fila de un conjunto de resultados */
print "Recupera la primera columna de la primera fila de un conjunto de resultados :\n";
$result = $sth->fetchColumn();
print
"nom=$result\n");

print
"Recupera la segunda columna de la segunda fila de un conjunto de resultados :\n";
$result = $sth->fetchColumn(1);
print
"couleur=$result\n";
?>

El resultado del ejemplo sería:

Recupera la primera columna de la primera fila de un conjunto de resultados :
nom=lemon
Recupera la segunda columna de la segunda fila de un conjunto de resultados :
couleur=orange

Ver también

add a note

User Contributed Notes 3 notes

up
55
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
14
seanferd at assmasterdonkeyranch dot com
18 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
-1
theking2(at)king.ma
1 year 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