DB_common::getAll()

DB_common::getAll() – クエリを実行し、すべてのデータを配列として返す

Synopsis

array &getAll ( string $query , array $params = array() , integer $fetchmode = = DB_FETCHMODE_DEFAULT )

Description

指定したクエリを実行し、入れ子になった配列に結果セット全体を格納したあとで 結果セットを開放します。

Parameter

string $query

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

array $params

プリペアドステートメントの実行時に使用される配列。 配列の要素数は、クエリ内のプレースホルダの数と同じでなければなりません。

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

このメソッドでは、この引数にスカラー値を指定することはできません。

integer $fetchmode

使用するフェッチモード。 デフォルトは DB_FETCHMODE_DEFAULT で、 これは DB の現在のフェッチモードを使用します。 DB の現在のデフォルトフェッチモードを変更するには setFetchMode() を使用します。 フェッチモードには、以下の値が指定できます。

  • DB_FETCHMODE_ORDERED

  • DB_FETCHMODE_ASSOC

  • DB_FETCHMODE_OBJECT

  • DB_FETCHMODE_ORDERED | DB_FETCHMODE_FLIPPED

  • DB_FETCHMODE_ASSOC | DB_FETCHMODE_FLIPPED

Return value

array - 入れ子になった配列、あるいは失敗した場合に DB_Error を返します。

Throws

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

Note

This function can not be called statically.

Example

最初にデフォルトのフェッチモードを設定し、連想配列を返すための getAll() の使用法

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

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

print_r($data);
?>

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

    
Array
(
    [0] => Array
        (
            [cf] => Juan
            [nf] => 5
            [df] => 1991-01-11 21:31:41
        )
    [1] => Array
        (
            [cf] => Kyu
            [nf] => 10
            [df] => 1992-02-12 22:32:42
        )
)
    

数値添字の配列を返す getAll() の使用法

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

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

print_r($data);
?>

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

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

入れ子になった数値添字配列を返す getAll() の使用法

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

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

print_r($data);
?>

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

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

連想配列を返す getAll() の使用法

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

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

print_r($data);
?>

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

    
Array
(
    [0] => Array
        (
            [cf] => Juan
            [nf] => 5
            [df] => 1991-01-11 21:31:41
        )
    [1] => Array
        (
            [cf] => Kyu
            [nf] => 10
            [df] => 1992-02-12 22:32:42
        )
)
    

入れ子になった連想配列を返す getAll() の使用法

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

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

print_r($data);
?>

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

    
Array
(
    [cf] => Array
        (
            [0] => Juan
            [1] => Kyu
        )
    [nf] => Array
        (
            [0] => 5
            [1] => 10
        )
    [df] => Array
        (
            [0] => 1991-01-11 21:31:41
            [1] => 1992-02-12 22:32:42
        )
)
    

オブジェクトの配列を返す getAll() の使用法

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

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

print_r($data);
?>

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

    
Array
(
    [0] => stdClass Object
        (
            [cf] => Juan
            [nf] => 5
            [df] => 1991-01-11 21:31:41
        )
    [1] => stdClass Object
        (
            [cf] => Kyu
            [nf] => 10
            [df] => 1992-02-12 22:32:42
        )
)
    

prepare/execute モードで連想配列を返すための getAll() の使用法

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

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

print_r($data);
?>

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

    
Array
(
    [0] => Array
        (
            [cf] => Juan
            [nf] => 5
            [df] => 1991-01-11 21:31:41
        )
)
    
プリペアド SQL ステートメントに関連付けられたリソースを開放する (Previous) クエリを実行し、結果を配列として返す (Next)
Last updated: Wed, 22 Oct 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.