#setlinebreak(on)
* PDO::FETCH_CLASS 利用クラス指定 [#oc94352a]
#htmlinsert(googleAdsense.html)
#ref(http://dozo.rgr.jp/img/img52_pecl.gif,right,nolink,around,PHP::PECL)

[[FETCH_CLASS>PECL/pdo/fetch/FETCH_CLASS]]は他のFETCHパラメータと利用場所が異なる。
動きとしては[[PDO::FETCH_OBJ>PECL/pdo/fetch/FETCH_OBJ]]と似ている。


**利用できるメソッド [#jb1d85ac]
 PDOクラス
 query
 PDOStatementクラス
 fetch,setFetchMode

**組み合わせ可能なFETCHパラメータ [#t8ca4173]
 PDO::FETCH_CLASSTYPE
 PDO::FETCH_GROUP

**単独使用サンプルコード [#ge04eb5d]
    $sql = <<<SQL
        SELECT * FROM user_table 
 SQL;
    $stmtObj = $dbObj->query( $sql, PDO::FETCH_CLASS, 'testClass', array( 0 => 1234, 1 => 'test' )  );
    while ( $rowObjs = $stmtObj->fetchAll() )
    print_r( $rowObjs );
 
 class testClass
 {
    private $int;
    private $str;
    protected function testClass( $int = 0, $str = 1 )
    {
        $this->int = $int;
        $this->str = $str;
    }
 }

***結果 [#v4da7e03]
 Array
 (
    [0] => testClass Object
        (
            [int:private] => 1234
            [str:private] => test
            [users_id] => 1
            [users_name] => TARO
            [users_email] => taro@matrix.jp
        )
 
    [1] => testClass Object
        (
            [int:private] => 1234
            [str:private] => test
            [users_id] => 2
            [users_name] => JIRO
            [users_email] => jiro@matrix.jp
        )
 ・・・

FETCH_CLASSは単独で使用することはできない。
必ず使用するクラスを指定する必要がある。
構文は
 method( PDO::FETCH_CLASS, '(ユーザー定義クラス名)' [, (コンストラクタの引数)] );
だ。
setFetchClass, queryで指定が可能。
また、fetchObjectで指定することも出来る。
下記コードは全部同じである
queryメソッドで指定
    $stmtObj = $dbObj->query( $sql, PDO::FETCH_CLASS, 'testClass', array( 0 => 1234, 1 => 'test' ) );
setFetchModeメソッドで指定
    $stmtObj = $dbObj->query( $sql );
    $stmtObj->setFetchMode( PDO::FETCH_CLASS, 'testClass', array( 0 => 1234, 1 => 'test' ) );
fetchObjectメソッドで指定
    $stmtObj = $dbObj->query( $sql );
    while ( $rowObj = $stmtObj->fetchObject( 'testClass', array( 0 => 1234, 1 => 'test' )) )
        $rowObjs[] = $rowObj;



#htmlinsert(googleAdsense.html)


#comment


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Third Project
証券会社ランキング比較