PDOStatement::fetchColumn

結果セットの次行から単一カラムを返す

説明

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

結果セットの次行から単一カラムを返します。 行がもうない場合には false を返します。

注意:

PDOStatement::fetchColumn は、boolean のカラムを取得するときに使っていけません。 boolean 値としての false と、もう取得する行がない場合の false を区別できないからです。 かわりに PDOStatement::fetch を使いましょう。

パラメータ

column

行から処理したい 0 で始まるカラム番号を指定します。 何も値が与えられない場合、 PDOStatement::fetchColumn は最初のカラムをフェッチします。

戻り値

PDOStatement::fetchColumn は結果セットの次行から単一カラムを返します。 それ以上行がない場合、false を返します。

警告

PDOStatement::fetchColumn を使用してデータを処理する場合、同一行から 他のカラムを返す方法はありません。

エラー / 例外

PDO::ATTR_ERRMODEPDO::ERRMODE_WARNING に設定されていた場合、E_WARNING レベルのエラーが発生します。

PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION に設定されていた場合、PDOException がスローされます。

例1 次行の最初のカラムを返す

<?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";
?>

上の例の出力は以下となります。

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

参考

  • PDO::query
  • PDOStatement::fetch
  • PDOStatement::fetchAll
  • PDO::prepare
  • PDOStatement::setFetchMode