PHP 5.4.45 Released

PDOStatement::fetchColumn

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

PDOStatement::fetchColumn Returns a single column from the next row of a result set

Descrição

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

Returns a single column from the next row of a result set or FALSE if there are no more rows.

Nota:

PDOStatement::fetchColumn() should not be used to retrieve boolean columns, as it is impossible to distinguish a value of FALSE from there being no more rows to retrieve. Use PDOStatement::fetch() instead.

Parâmetros

column_number

0-indexed number of the column you wish to retrieve from the row. If no value is supplied, PDOStatement::fetchColumn() fetches the first column.

Valor Retornado

PDOStatement::fetchColumn() returns a single column in the next row of a result set.

Aviso

There is no way to return another column from the same row if you use PDOStatement::fetchColumn() to retrieve data.

Exemplos

Exemplo #1 Return first column of the next row

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

print(
"Fetch the first column from the first row in the result set:\n");
$result $sth->fetchColumn();
print(
"name = $result\n");

print(
"Fetch the second column from the second row in the result set:\n");
$result $sth->fetchColumn(1);
print(
"colour = $result\n");
?>

O exemplo acima irá imprimir:

Fetch the first column from the first row in the result set:
name = lemon
Fetch the second column from the second row in the result set:
colour = red

Veja Também

add a note add a note

User Contributed Notes 3 notes

up
22
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
7
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
2 months 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