DBクラスマニュアル

デフォルトDB接続情報はCONFIGファイルに記載。

  • dfw_config.php 設定箇所
    // === DB設定
    define( 'DFW_DB_DSN',            'mysql:dbname=hoge;host=localhost' );
    define( 'DFW_DB_USER',           'hoge' );
    define( 'DFW_DB_PASS',           'hoge' );
  • 「dfw_config.php」にDBクラス定義があるので、自作メソッドを追加出来ます。

 

public function DB( $db_dsn = , $db_user = , $db_pass = '' )

コンストラクタ。
DB接続を行う。
DSN情報を定義しないと設定ファイルの情報を使用してDB接続する。
 

  • 記述例
      $db = new DB();
  • 記述例
      $db = new DB( 'mysql:dbname=ore;host=localhost', 'user', 'pass' );
  • 記述例
      $db = new DB( 'master' );
     
  • 戻り値
      成功:DBオブジェクト
      失敗:PDOExceptionオブジェクト

public function setNames( $code = 'utf8' )

SQL文「SET NAMES XXXX」を実行する。
 

  • 記述例
      $db = setNames();
  • 記述例
      $db = setNames( 'sjis' );
  • 記述例
      $db = setNames( 'ujis' ); // EUC-JP
     
  • 戻り値
      なし

public function close()

DB接続を解除する。  

  • 記述例
      $db->close();
     
  • 戻り値
      なし

public function setSql( $sql )

SQL文を定義する。
パラメータマークは名前指定(:name等)で指定する。
パラメータマーク名は「$」で指定も可能($name等)。

  • 記述例
      $db->setSql( 'select * from hoge where name=:name' );
  • 記述例
      $db->setSql( 'select name,ip,time from hoge where name=$name' );
     
  • 戻り値
      なし

public function getSql()

実際に実行されたSQL文を取得する。
デバック時に使用

  • 記述例
      echo $db->getSql();  // 実際に実行されたSQL文を取得
  • 記述例
      echo $db->getSql('raw');  // setSql関数で登録したSQL文を取得
     
  • 戻り値
      なし

public function set( $key, $val )

SQLのパラメータマーク(:name、$name等)に値を設定する。
パラメータマーク先頭の「:」または「$」は記載しない。
 

  • 記述例
      $db->set( 'name', 's-tanno' );
     
  • 戻り値
      なし

public function sets( $arr )

SQLのパラメータマーク(:name、$name等)に値を設定する。
連想配列を利用して一度に複数の設定します。  

  • 記述例
      $data['name'] = 's-tanno';
      $data['group'] = 'PeX';
      $db->sets( $data );
     
  • 戻り値
      なし

public function exec()

定義したSQL文を実行する。  

  • 記述例
      $rtn = $db->exec();
      echo $trn;
     
  • 戻り値
      成功:SELECTの場合 0以上の結果バッファにたまった件数(int)
      成功:INSERT,UPDATEの場合 0~nの反映に成功した件数(int)
      失敗:false(boolean)

public function fetch()

SELECT実行結果から結果を1つ取得する。
結果はDBカラム名の連想配列で取得される。( $item['name'] 等)
 

  • 記述例
      while( true ) {
       $item = $db->fetch();
       if( $item === false ) break;
       var_dump( $item );
      }
     
  • 戻り値
      取得データあり:DBカラム名の連想配列
      取得データなし:false(boolean)

public function fetchAll()

SELECT実行結果から結果を全て取得する。
結果はDBカラム名の連想配列の配列で取得される。( $item[0]['name'] 等)

  • 記述例
      $items = $db->fetchAll();
      var_dump( $items );
     
  • 戻り値
      取得データあり:DBカラム名の連想配列の配列
      取得データなし:false(boolean)

public function execFetchAll()

exec() と fetchAll() を実行する関数。
定義したSQL文を実行し、SELECT実行結果から結果を全て取得する。
結果はDBカラム名の連想配列の配列で取得される。( $item[0]['name'] 等)

  • 記述例
      $items = $db->execFetchAll();
      var_dump( $items );
     
  • 戻り値
      取得データあり:DBカラム名の連想配列の配列
      取得データなし:false(boolean)

public function execFetchOne()

exec() と fetch() を実行する関数。
定義したSQL文を実行し、SELECT実行結果から結果を1レコード取得する。
結果はDBカラム名の連想配列で取得される。( $item['name'] 等)

  • 記述例
      $item = $db->execFetchOne();
      var_dump( $item );
     
  • 戻り値
      取得データあり:DBカラム名の連想配列
      取得データなし:false(boolean)

public function insert( $tableName, $params )

INSERTを簡単に行う関数。
テーブル名と連想配列でINSERT内容を引数で渡すと、INSERTが実行する。
戻り値は最後に挿入された行のID(PDO::lastInsertId値)となります。

  • 記述例
      $db = new DB();
      $params = array( 'title'=>'ほげタイトル', 'description'=>'ほげんほげん' );
      $ret = $db->insert( 'my_table', $params );  // INSERT実行
     
  • 戻り値
      成功:最後に挿入された行の ID あるいはシーケンスの値(PDO::lastInsertId値)
      失敗:false(boolean)

public function beginTransaction()

トランザクションを開始する。

  • 記述例
      $db->beginTransaction();
     
  • 戻り値
      成功:true(boolean)
      失敗:false(boolean)

public function commit()

トランザクションをコミットする。

  • 記述例
      $db->commit();
     
  • 戻り値
      成功:true(boolean)
      失敗:false(boolean)

public function rollBack()

トランザクションをロールバックする。

  • 記述例
      $db->rollBack();
     
  • 戻り値
      成功:true(boolean)
      失敗:false(boolean)

public function lastInsertId()

最後に挿入された行の ID あるいはシーケンスの値を返す。
PDO::lastInsertId() のラッパー関数。

  • 記述例
      noLine = $db->lastInsertId();

public function errorInfo()

DBエラー内容を返す。
PDO::errorInfo() のラッパー関数。

  • 記述例
      noLine = $db->errorInfo();

public function errorInfo()

DB接続ハンドルを返す。
デバック時の確認用

  • 記述例
      var_dump( $db->getDbHandle() );
      var_dump( $db->getDbHandle('stmt') );

 


トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-06-01 (火) 16:58:44 (99d)