PDOStatement::fetchColumn
(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.9.0)
PDOStatement::fetchColumn — 結果セットの次行から単一カラムを返す
説明
public PDOStatement::fetchColumn
([ int $column_number
= 0
] ) : mixed
結果セットの次行から単一カラムを返します。
行がもうない場合には false
を返します。
注意:
PDOStatement::fetchColumn() は、boolean のカラムを取得するときに使っていけません。 boolean 値としての
false
と、もう取得する行がない場合のfalse
を区別できないからです。 かわりに PDOStatement::fetch() を使いましょう。
パラメータ
column_number
- 行から処理したい 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
参考
- PDO::query() - SQL ステートメントを実行し、結果セットを PDOStatement オブジェクトとして返す
- PDOStatement::fetch() - 結果セットから次の行を取得する
- PDOStatement::fetchAll() - 全ての結果行を含む配列を返す
- PDO::prepare() - 文を実行する準備を行い、文オブジェクトを返す
- PDOStatement::setFetchMode() - この文に対するデフォルトのフェッチモードを設定する