PHP 8.3.7 Released!

PDOStatement::fetchColumn

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

PDOStatement::fetchColumn Retorna uma única coluna do próximo registro de um resultado

Descrição

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

Retorna uma única coluna do próximo registro de um resultado ou false se não houver mais registros.

Nota:

PDOStatement::fetchColumn() não deve ser usado para colunas do tipo booleano, já que é impossível distinguir um valor de false em relação à inexistência de mais registros a se recuperar. Use PDOStatement::fetch() em seu lugar.

Parâmetros

column

Número da coluna que se deseja recuperar do registro, com índice iniciando em 0. Se nenhum valor for informado, PDOStatement::fetchColumn() busca a primeira coluna.

Valor Retornado

PDOStatement::fetchColumn() retorna uma única coluna do próximo registro do resultado ou false se não houver mais registros.

Aviso

Não há como retornar outra coluna do mesmo registro se o método PDOStatement::fetchColumn() for usado para recuperar dados.

Erros/Exceções

Emite um erro de nível E_WARNING se o atributo PDO::ATTR_ERRMODE estiver definido como PDO::ERRMODE_WARNING.

Lança uma exceção PDOException se o atributo PDO::ATTR_ERRMODE estiver definido como PDO::ERRMODE_EXCEPTION.

Exemplos

Exemplo #1 Retorna a primeira coluna do próximo registro

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

print
"Busca a primeira coluna da primeira linha do resultado:\n";
$result = $sth->fetchColumn();
print
"name = $result\n";

print
"Busca a segunda coluna da segunda linha do resultado:\n";
$result = $sth->fetchColumn(1);
print
"colour = $result\n";
?>

O exemplo acima produzirá:

Busca a primeira coluna da primeira linha do resultado:
name = lemon
Busca a segunda coluna da segunda linha do resultado:
colour = red

Veja Também

add a note

User Contributed Notes 3 notes

up
52
PhoneixSegovia at GOOGLE_MAIL_SERVER dot com
13 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
4 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