Query
class Query
SQLの構築・実行を行う
TODO エラーハンドリング, ロギング方法を見直す
Properties
$option | |||
$where | |||
$arrWhereVal | |||
$conn | |||
$groupby | |||
$order | |||
$force_run | |||
static | $arrPoolInstance | シングルトン動作のためのインスタンスプール配列。キーは DSN の識別情報。 |
Methods
コンストラクタ.
シングルトンの Query インスタンスを取得する.
COUNT文を実行する.
EXISTS文を実行する.
SELECT文を実行する.
直前に実行されたSQL文を取得する.
トランザクションをコミットする.
トランザクションを開始する.
トランザクションをロールバックする.
トランザクションが開始されているかチェックする.
更新系の SQL を実行する.
クエリを実行し、結果行毎にコールバック関数を適用する
クエリを実行し、全ての行を返す
構築した SELECT 文を取得する.
SELECT 文に付与する LIMIT, OFFSET 句を設定する.
SELECT 文に付与する GROUP BY 句を設定する.
INSERT文を実行する.
UPDATE文を実行する.
MAX文を実行する.
MIN文を実行する.
SQL を構築して, 特定のカラムの値を取得する.
SQL を指定して, 特定のカラムの値を取得する.
一行をカラム名をキーとした連想配列として取得
SELECT 文の実行結果を 1列のみ取得する.
レコードの削除
次のシーケンス値を取得する.
現在のシーケンス値を取得する.
シーケンス値を設定する.
SQL を実行する.
シーケンスの一覧を取得する.
テーブル一覧を取得する.
テーブルのカラム一覧を取得する.
テーブルのインデックス一覧を取得する.
テーブルにインデックスを付与する
テーブルにインデックスを破棄する
テーブルの詳細情報を取得する。
値を適切にクォートする.
パラメーターの連想配列から, テーブルに存在する列のみを取得する.
プリペアドステートメントを構築する.
プリペアドクエリを実行する.
エラーの内容をトレースする.
エラー処理
SQLクエリの結果セットのカラム名だけを取得する
プールしているインスタンスを取得する
Details
at line 56
__construct(string $dsn = '', boolean $force_run = false, boolean $new = false)
コンストラクタ.
at line 106
static Query
getSingletonInstance(string $dsn = '', boolean $force_run = false, boolean $new = false)
シングルトンの Query インスタンスを取得する.
at line 128
boolean
isError()
deprecated
deprecated
エラー判定を行う.
at line 145
integer
count(string $table, string $where = '', array $arrWhereVal = array())
COUNT文を実行する.
at line 158
boolean
exists(string $table, string $where = '', array $arrWhereVal = array())
EXISTS文を実行する.
at line 177
array|null
select(string $cols, string $from = '', string $where = '', array $arrWhereVal = array(), integer $fetchmode = \MDB2_FETCHMODE_ASSOC)
SELECT文を実行する.
at line 190
string
getLastQuery(boolean $disp = true)
直前に実行されたSQL文を取得する.
at line 206
MDB2_OK
commit()
トランザクションをコミットする.
at line 221
MDB2_OK
begin()
トランザクションを開始する.
at line 232
MDB2_OK
rollback()
トランザクションをロールバックする.
at line 246
boolean
inTransaction()
トランザクションが開始されているかチェックする.
at line 258
exec($str, $arrVal = array())
更新系の SQL を実行する.
この関数は Query::query() のエイリアスです.
FIXME \MDB2::exec() の実装であるべき
at line 272
boolean
doCallbackAll($cbFunc, $sql, $arrVal = array(), $fetchmode = \MDB2_FETCHMODE_ASSOC)
クエリを実行し、結果行毎にコールバック関数を適用する
at line 305
array
getAll(string $sql, array $arrVal = array(), integer $fetchmode = \MDB2_FETCHMODE_ASSOC)
クエリを実行し、全ての行を返す
at line 338
string
getSql(string $cols, string $from = '', string $where = '', mixed $arrWhereVal = null)
構築した SELECT 文を取得する.
クラス変数から WHERE 句を組み立てる場合、$arrWhereVal を経由してプレースホルダもクラス変数のもので上書きする。
at line 375
Query
setOption(string $str)
SELECT 文の末尾に付与する SQL を設定する.
この関数で設定した値は Query::getSql() で使用されます.
at line 391
Query
setLimitOffset(integer $limit, integer $offset)
SELECT 文に付与する LIMIT, OFFSET 句を設定する.
この関数で設定した値は Query::getSql() で使用されます.
at line 408
Query
setGroupBy(string $str)
SELECT 文に付与する GROUP BY 句を設定する.
この関数で設定した値は Query::getSql() で使用されます.
at line 427
Query
andWhere(string $str)
SELECT 文の WHERE 句に付与する AND 条件を設定する.
この関数で設定した値は Query::getSql() で使用されます.
at line 446
Query
orWhere(string $str)
SELECT 文の WHERE 句に付与する OR 条件を設定する.
この関数で設定した値は Query::getSql() で使用されます.
at line 466
Query
setWhere(string $where = '', mixed $arrWhereVal = array())
SELECT 文に付与する WHERE 句を設定する.
この関数で設定した値は Query::getSql() で使用されます.
at line 482
Query
setOrder(string $str)
SELECT 文に付与する ORDER BY 句を設定する.
この関数で設定した値は Query::getSql() で使用されます.
at line 501
Query
setLimit(integer $limit)
SELECT 文に付与する LIMIT 句を設定する.
この関数で設定した値は Query::getSql() で使用されます.
at line 518
Query
setOffset(integer $offset)
SELECT 文に付与する OFFSET 句を設定する.
この関数で設定した値は Query::getSql() で使用されます.
at line 538
integer|DB_Error|boolean
insert(string $table, array $arrVal, array $arrSql = array(), array $arrSqlVal = array(), string $from = '', string $arrFromVal = array())
INSERT文を実行する.
at line 596
update(string $table, array $arrVal, string $where = '', array $arrWhereVal = array(), array $arrRawSql = array(), array $arrRawSqlVal = array())
UPDATE文を実行する.
at line 652
integer
max($col, $table, $where = '', $arrWhereVal = array())
MAX文を実行する.
at line 668
integer
min($col, $table, $where = '', $arrWhereVal = array())
MIN文を実行する.
at line 684
mixed
get($col, $table = '', $where = '', $arrWhereVal = array())
SQL を構築して, 特定のカラムの値を取得する.
at line 700
mixed
getOne(string $sql, array $arrVal = array())
SQL を指定して, 特定のカラムの値を取得する.
at line 733
array
getRow($col, $table = '', $where = '', $arrWhereVal = array(), $fetchmode = \MDB2_FETCHMODE_ASSOC)
一行をカラム名をキーとした連想配列として取得
at line 766
array
getCol($col, $table = '', $where = '', $arrWhereVal = array())
SELECT 文の実行結果を 1列のみ取得する.
at line 798
delete(string $table, string $where = '', array $arrWhereVal = array())
レコードの削除
at line 816
nextVal($seq_name)
次のシーケンス値を取得する.
at line 827
integer
currVal(string $seq_name)
現在のシーケンス値を取得する.
at line 839
MDB2_OK
setVal(string $seq_name, integer $start)
シーケンス値を設定する.
at line 869
array
query(string $n, array $arr = array(), boolean $ignore_err = false, mixed $types = null, mixed $result_types = \MDB2_PREPARE_RESULT)
SQL を実行する.
FIXME $ignore_errが無視されるようになっているが互換性として問題が無いか確認が必要
at line 894
array
listSequences()
シーケンスの一覧を取得する.
at line 906
array
listTables()
テーブル一覧を取得する.
at line 917
array
listTableFields(string $table)
テーブルのカラム一覧を取得する.
at line 930
array
listTableIndexes(string $table)
テーブルのインデックス一覧を取得する.
at line 945
createIndex(string $table, string $name, array $definition)
テーブルにインデックスを付与する
at line 959
dropIndex(string $table, string $name)
テーブルにインデックスを破棄する
at line 972
array
getTableInfo(string $table)
テーブルの詳細情報を取得する。
at line 990
string
quote(string $val)
値を適切にクォートする.
TODO \MDB2 に対応するための暫定的な措置. プレースホルダが使用できない実装があるため. 本来であれば, \MDB2::prepare() を適切に使用するべき
at line 1002
array
extractOnlyColsOf(string $table, array $arrParams)
パラメーターの連想配列から, テーブルに存在する列のみを取得する.
at line 1024
MDB2_Statement_Common
prepare(string $sql, mixed $types = null, mixed $result_types = \MDB2_PREPARE_RESULT)
プリペアドステートメントを構築する.
at line 1043
MDB2_Result
execute(MDB2_Statement_Common $sth, array $arrVal = array())
プリペアドクエリを実行する.
at line 1079
string
traceError(PEAR::Error $error, string $sql = '', array $arrVal = false)
エラーの内容をトレースする.
XXX trigger_error で処理する場合、1024文字以内に抑える必要がある。 XXX 重要な情報を先頭に置き、冗長になりすぎないように留意する。
at line 1096
error($msg)
エラー処理
at line 1116
array
getQueryDefsFields(string $n, array $arr = array(), boolean $ignore_err = false, mixed $types = null, mixed $result_types = \MDB2_PREPARE_RESULT)
SQLクエリの結果セットのカラム名だけを取得する
at line 1228
static Query|null
getPoolInstance(string $dsn = '')
プールしているインスタンスを取得する