DB_common::getCol()

DB_common::getCol() – クエリを実行し、ひとつのカラムのデータを返す

Synopsis

array &getCol ( string $query , mixed $col = 0 , mixed $params = array() )

Description

指定したクエリを実行し、データの最初のカラムを配列に格納したあとで 結果セットを開放します。

Parameter

string $query

SQL クエリあるいはプリペアドステートメント。

mixed $col

どのカラムを返すか (integer [0 から始まるカラム番号] あるいは string [カラム名])。

mixed $params

プリペアドステートメントに追加される、配列・文字列あるいは数値のデータ。 配列の要素数は、クエリ内のプレースホルダの数と同じでなければなりません。 配列以外を指定した場合はプレースホルダがひとつであることを意味し、 配列を指定した場合は配列の個々の要素がそれぞれのパラメータに対応します。

指定された場合は、 prepare()/ execute() が使用されます。

Return value

array - 結果セットのカラムのデータを含む数値添字の配列、 あるいは失敗した場合に DB_Error オブジェクトを返します。 配列の添字は 0 から始まります。

Throws

Possible PEAR_Error values
エラーコード エラーメッセージ 原因 対応法
DB_ERROR_INVALID invalid 準備された SQL 文が無効です。 プレースホルダを使用する SQL 文を用いる場合は prepare() のドキュメント を参照ください。
DB_ERROR_MISMATCH mismatch パラメータの数が、プリペアドステートメント中の プレースホルダの数と一致しません。 $query に渡した prepare() 済みの文中の プレースホルダの数が、$params で渡した項目の数と一致するかどうかを調べます。
DB_ERROR_NOSUCHFIELD no such field $col に渡したカラム番号あるいはカラム名が不正です。 クエリ結果に存在するカラム番号あるいはカラム名を使用します。
DB_ERROR_NODBSELECTED no database selected データベースが選択されていません。 connect() の際の DSN を調べます。
その他のエラーコード   データベース固有のエラー。 PHP マニュアル のデータベース関連の部分を調べ、エラーの原因を判断してください。 たいていの場合は SQL 文が間違っていることが原因です。例えば Oracle データベースに対して SQL で LIMIT を使用しているなどが 考えられます。

Note

This function can not be called statically.

Example

getCol() の使用法

<?php
// $db という名前の DB オブジェクトを取得しているとします...
$data =& $db->getCol('SELECT cf, df FROM foo');

if (
PEAR::isError($data)) {
    die(
$data->getMessage());
}

print_r($data);
?>

出力は、以下のようになります。

    
Array
(
    [0] => Juan
    [1] => Kyu
)
    

カラム番号で指定したカラムを取得するための getCol() の使用法

<?php
// $db という名前の DB オブジェクトを取得しているとします...
$data =& $db->getCol('SELECT cf, df FROM foo'1);

if (
PEAR::isError($data)) {
    die(
$data->getMessage());
}

print_r($data);
?>

出力は、以下のようになります。

    
Array
(
    [0] => 1991-01-11 21:31:41
    [1] => 1992-02-12 22:32:42
)
    

カラム名で指定したカラムを取得するための getCol() の使用法

<?php
// $db という名前の DB オブジェクトを取得しているとします...
$data =& $db->getCol('SELECT cf, df FROM foo''df');

if (
PEAR::isError($data)) {
    die(
$data->getMessage());
}

print_r($data);
?>

出力は、以下のようになります。

    
Array
(
    [0] => 1991-01-11 21:31:41
    [1] => 1992-02-12 22:32:42
)
    

プレースホルダがひとつの場合の prepare/execute モードにおける getCol() の使用法

<?php
// $db という名前の DB オブジェクトを取得しているとします...
$data =& $db->getCol('SELECT cf, df FROM foo WHERE nf = ?',
        
'df'5);

if (
PEAR::isError($data)) {
    die(
$data->getMessage());
}

print_r($data);
?>

出力は、以下のようになります。

    
Array
(
    [0] => 1991-01-11 21:31:41
)
    

プレースホルダがふたつの場合の prepare/execute モードにおける getCol() の使用法

<?php
// $db という名前の DB オブジェクトを取得しているとします...
$data =& $db->getCol('SELECT cf, df FROM foo WHERE nf IN (?, ?)',
        
'df', array(510));

if (
PEAR::isError($data)) {
    die(
$data->getMessage());
}

print_r($data);
?>

出力は、以下のようになります。

    
Array
(
    [0] => 1991-01-11 21:31:41
    [1] => 1992-02-12 22:32:42
)
    
クエリを実行し、結果を配列として返す (Previous) データベースのシステム情報を表示する (Next)
Last updated: Tue, 23 Sep 2014 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.