PHP 5.4.33 Released

PDOStatement::fetchColumn

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

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

Descripción

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

Devuelve una única columna de la siguiente fila de un conjunto de resultados, o FALSE si no existen más filas.

Parámetros

column_number

El número de índice basado en 0 de la columna que se quiere obtener desde la fila. Si no se proporicona ningún valor, PDOStatement::fetchColumn() obtiene la primera columna.

Valores devueltos

PDOStatement::fetchColumn() devuelve una única columna de la siguiente fila de un conjunto de resultados.

Advertencia

No existe una forma de devolver otra columna de la misma fila si se utiliza PDOStatement::fetchColumn() para recuperar datos.

Ejemplos

Ejemplo #1 Devolver la primera columna de la siguiente fila

<?php
$gsent 
$gbd->prepare("SELECT name, colour FROM fruit");
$gsent->execute();

/* Obtener la primera columna de la siguiente fila del conjunto de resultados */
print("Obtener la primera columna de la siguiente fila del conjunto de resultados:\n");
$resultado $gsent->fetchColumn();
print(
"nombre = $resultado\n");

print(
"Obtener la segunda columna de la siguiente fila del conjunto de resultados:\n");
$resultado $gsent->fetchColumn(1);
print(
"color = $resultado\n");
?>

El resultado del ejemplo sería:

Obtener la primera columna de la siguiente fila del conjunto de resultados:
nombre = lemon
Obtener la segunda columna de la siguiente fila del conjunto de resultados:
color = red

Ver también

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
10 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
19 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