PDOStatement::fetchColumn

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

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

説明

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

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

注意:

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

パラメータ

column

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

返り値

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

警告

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

例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

参考

add a note add a note

User Contributed Notes 2 notes

up
53
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
10
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.
To Top