BEAR_Query
[ class tree: BEAR_Query ] [ index: BEAR_Query ] [ all elements ]

Class: BEAR_Query

Source Location: /BEAR/Query.php

Class Overview

BEAR_Base
   |
   --BEAR_Query

クエリークラス


Author(s):

Version:

  • SVN: Release: @package_version@ $Id: Query.php 2552 2011-06-15 07:13:09Z koriyama@bear-project.net $

Copyright:

  • 2008-2011 Akihito Koriyama All rights reserved.

Implements interfaces:

Methods


Child classes:

BEAR_Query_Count
Countクエリー

Inherited Variables

Inherited Methods


Class Details

[line 122]
クエリークラス

クエリークラス

 select, insert, update, deleteのクエリーツールです。
 selectにはHTMLリンクも伴うDBページング機能、他の文にはSQL生成の機能が付加されています。
 MDB2を使用していますが、クライアントはMDB2の実装に依存しないでBEAR_Queryのインターフェイスに依存できます。
Example 1. セレクトクエリー </pre>
  1.    $config array('db'=>$db'table'=>$table'pager'=>false'pager_option'=> $pagerOption);
  2.    $query BEAR_Dependency('BEAR_Query, $config);
  3.    // 直接select
  4.    $sql = "SELECT * FROM users WHERE id = 1";
  5.    $result = $query->select($sql);
  6.    // プリペアードステートメント (quote自動)
  7.    $sql = "SELECT * FROM users WHERE id = :id";
  8.    $params = array('id'=>1);
  9.    $result = $query->select($sql, $params);
  10.    // insert
  11.    $values = array('name'=>'bear', 'age'=>10);
  12.    $result = $query->insert($values);
  13.    // update
  14.    $values = array('name'=>'bear', 'age'=>10);
  15.    $where = 'id '. $query->quote($id, 'integer');
  16.    $result = $query->$update($values, $where);
  17.    // テーブル指定update
  18.    $table = 'another_user';
  19.    $result = $query->$update($values, $where, $table);
 MDB2結果コード

 ('MDB2_OK',                      true);
 ('MDB2_ERROR',                     -1);
 ('MDB2_ERROR_SYNTAX',              -2);
 ('MDB2_ERROR_CONSTRAINT',          -3);
 ('MDB2_ERROR_NOT_FOUND',           -4);
 ('MDB2_ERROR_ALREADY_EXISTS',      -5);
 ('MDB2_ERROR_UNSUPPORTED',         -6);
 ('MDB2_ERROR_MISMATCH',            -7);
 ('MDB2_ERROR_INVALID',             -8);
 ('MDB2_ERROR_NOT_CAPABLE',         -9);
 ('MDB2_ERROR_TRUNCATED',          -10);
 ('MDB2_ERROR_INVALID_NUMBER',     -11);
 ('MDB2_ERROR_INVALID_DATE',       -12);
 ('MDB2_ERROR_DIVZERO',            -13);
 ('MDB2_ERROR_NODBSELECTED',       -14);
 ('MDB2_ERROR_CANNOT_CREATE',      -15);
 ('MDB2_ERROR_CANNOT_DELETE',      -16);
 ('MDB2_ERROR_CANNOT_DROP',        -17);
 ('MDB2_ERROR_NOSUCHTABLE',        -18);
 ('MDB2_ERROR_NOSUCHFIELD',        -19);
 ('MDB2_ERROR_NEED_MORE_DATA',     -20);
 ('MDB2_ERROR_NOT_LOCKED',         -21);
 ('MDB2_ERROR_VALUE_COUNT_ON_ROW', -22);
 ('MDB2_ERROR_INVALID_DSN',        -23);
 ('MDB2_ERROR_CONNECT_FAILED',     -24);
 ('MDB2_ERROR_EXTENSION_NOT_FOUND',-25);
 ('MDB2_ERROR_NOSUCHDB',           -26);
 ('MDB2_ERROR_ACCESS_VIOLATION',   -27);
 ('MDB2_ERROR_CANNOT_REPLACE',     -28);
 ('MDB2_ERROR_CONSTRAINT_NOT_NULL',-29);
 ('MDB2_ERROR_DEADLOCK',           -30);
 ('MDB2_ERROR_CANNOT_ALTER',       -31);
 ('MDB2_ERROR_MANAGER',            -32);
 ('MDB2_ERROR_MANAGER_PARSE',      -33);
 ('MDB2_ERROR_LOADMODULE',         -34);
 ('MDB2_ERROR_INSUFFICIENT_DATA',  -35);

 DATAタイプ

 'text':
 'clob':
 'blob':
 'integer':
 'boolean':
 'date':
 'time':
 'timestamp':
 'float':
 'decimal':




Tags:

author:  Akihito Koriyama <koriyama@bear-project.net>
version:  SVN: Release: @package_version@ $Id: Query.php 2552 2011-06-15 07:13:09Z koriyama@bear-project.net $
copyright:  2008-2011 Akihito Koriyama All rights reserved.
link:  http://www.bear-project.net/
license:  BSD


[ Top ]


Class Methods


constructor __construct [line 129]

BEAR_Query __construct( $config)

Constructor

Constructor




Tags:

access:  public


Overrides BEAR_Base::__construct() (Universal constructor)

Parameters:

array   $config  

[ Top ]

method delete [line 394]

mixed delete( $where, [ $table = null])

デリート

デリート




Tags:

access:  public



Implementation of:
BEAR_Query_Interface::delete()
デリート

Parameters:

   $where  
   $table  

[ Top ]

method insert [line 368]

mixeds insert( $values, [ $table = null])

インサート

インサート




Tags:

access:  public



Implementation of:
BEAR_Query_Interface::insert()
インサート

Parameters:

array   $values  
   $table  

[ Top ]

method isError [line 419]

mixed isError( MDB2_Result $result)

エラー?

エラー?




Tags:

access:  public



Implementation of:
BEAR_Query_Interface::isError()
エラー?

Parameters:

MDB2_Result   $result   DB結果

[ Top ]

method quote [line 407]

strings quote( $value, $type)

クオート

クオート




Tags:

access:  public



Implementation of:
BEAR_Query_Interface::quote()
クオート

Parameters:

   $value  
   $type  

[ Top ]

method select [line 153]

BEAR_Ro select( string $query, [ $params = array()], [ $values = null], [ $id = 'id'])

セレクト

セレクト

 通常のselect文の他にDB結果の一部だけをSELECTする機能と、HTMLページングの機能が合わさった
 メソッドです。getAll()メソッドの引数に加えて一画面に表示するデータ数を
 引数に指示するとページング(スライス)されたデータ結果と
 エージェントに合わせたリンクHTML文字列が返ります。
 $valuesが配列 $values)>ならWHERE $key1 = $id1 AND $key2 = $id2 ..と条件を作ってselectします。
 リソース内で受け取った$valuesを条件にSELETするときに使います。

 $paramsが空だと通常のSQL、連想配列が入っていると$queryをpreparedステートメート文として期待して実行します。




Tags:

access:  public


Overridden in child classes as:

BEAR_Query_Count::select()
セレクト


Implementation of:
BEAR_Query_Interface::select()
セレクト

Parameters:

string   $query   SQL
array   $params   プリペアードステートメントにする場合にバインドする変数
array   $values   where条件配列
   $id  

[ Top ]

method update [line 381]

mixed update( $values, $where, [ $table = null])

アップデート

アップデート




Tags:

access:  public



Implementation of:
BEAR_Query_Interface::update()
アップデート

Parameters:

array   $values  
   $where  
   $table  

[ Top ]

method _countQuery [line 432]

int _countQuery( string $query, [array $params = array()])

カウントクエリー

カウントクエリー




Tags:

access:  protected


Parameters:

string   $query  
array   $params  

[ Top ]


Documentation generated on Sat, 30 Jul 2011 00:11:46 +0900 by phpDocumentor 1.4.3