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 44
__construct(string $dsn = '', boolean $force_run = false, boolean $new = false)
コンストラクタ.
at line 94
static Query
getSingletonInstance(string $dsn = '', boolean $force_run = false, boolean $new = false)
シングルトンの Query インスタンスを取得する.
at line 116
boolean
isError()
deprecated
deprecated
エラー判定を行う.
at line 133
integer
count(string $table, string $where = '', array $arrWhereVal = array())
COUNT文を実行する.
at line 146
boolean
exists(string $table, string $where = '', array $arrWhereVal = array())
EXISTS文を実行する.
at line 165
array|null
select(string $cols, string $from = '', string $where = '', array $arrWhereVal = array(), integer $fetchmode = \MDB2_FETCHMODE_ASSOC)
SELECT文を実行する.
at line 178
string
getLastQuery(boolean $disp = true)
直前に実行されたSQL文を取得する.
at line 194
MDB2_OK
commit()
トランザクションをコミットする.
at line 209
MDB2_OK
begin()
トランザクションを開始する.
at line 220
MDB2_OK
rollback()
トランザクションをロールバックする.
at line 234
boolean
inTransaction()
トランザクションが開始されているかチェックする.
at line 246
exec($str, $arrVal = array())
更新系の SQL を実行する.
この関数は Query::query() のエイリアスです.
FIXME \MDB2::exec() の実装であるべき
at line 260
boolean
doCallbackAll($cbFunc, $sql, $arrVal = array(), $fetchmode = \MDB2_FETCHMODE_ASSOC)
クエリを実行し、結果行毎にコールバック関数を適用する
at line 293
array
getAll(string $sql, array $arrVal = array(), integer $fetchmode = \MDB2_FETCHMODE_ASSOC)
クエリを実行し、全ての行を返す
at line 326
string
getSql(string $cols, string $from = '', string $where = '', mixed $arrWhereVal = null)
構築した SELECT 文を取得する.
クラス変数から WHERE 句を組み立てる場合、$arrWhereVal を経由してプレースホルダもクラス変数のもので上書きする。
at line 363
Query
setOption(string $str)
SELECT 文の末尾に付与する SQL を設定する.
この関数で設定した値は Query::getSql() で使用されます.
at line 379
Query
setLimitOffset(integer $limit, integer $offset)
SELECT 文に付与する LIMIT, OFFSET 句を設定する.
この関数で設定した値は Query::getSql() で使用されます.
at line 396
Query
setGroupBy(string $str)
SELECT 文に付与する GROUP BY 句を設定する.
この関数で設定した値は Query::getSql() で使用されます.
at line 415
Query
andWhere(string $str)
SELECT 文の WHERE 句に付与する AND 条件を設定する.
この関数で設定した値は Query::getSql() で使用されます.
at line 434
Query
orWhere(string $str)
SELECT 文の WHERE 句に付与する OR 条件を設定する.
この関数で設定した値は Query::getSql() で使用されます.
at line 454
Query
setWhere(string $where = '', mixed $arrWhereVal = array())
SELECT 文に付与する WHERE 句を設定する.
この関数で設定した値は Query::getSql() で使用されます.
at line 470
Query
setOrder(string $str)
SELECT 文に付与する ORDER BY 句を設定する.
この関数で設定した値は Query::getSql() で使用されます.
at line 489
Query
setLimit(integer $limit)
SELECT 文に付与する LIMIT 句を設定する.
この関数で設定した値は Query::getSql() で使用されます.
at line 506
Query
setOffset(integer $offset)
SELECT 文に付与する OFFSET 句を設定する.
この関数で設定した値は Query::getSql() で使用されます.
at line 526
integer|DB_Error|boolean
insert(string $table, array $arrVal, array $arrSql = array(), array $arrSqlVal = array(), string $from = '', string $arrFromVal = array())
INSERT文を実行する.
at line 584
update(string $table, array $arrVal, string $where = '', array $arrWhereVal = array(), array $arrRawSql = array(), array $arrRawSqlVal = array())
UPDATE文を実行する.
at line 640
integer
max($col, $table, $where = '', $arrWhereVal = array())
MAX文を実行する.
at line 656
integer
min($col, $table, $where = '', $arrWhereVal = array())
MIN文を実行する.
at line 672
mixed
get($col, $table = '', $where = '', $arrWhereVal = array())
SQL を構築して, 特定のカラムの値を取得する.
at line 688
mixed
getOne(string $sql, array $arrVal = array())
SQL を指定して, 特定のカラムの値を取得する.
at line 721
array
getRow($col, $table = '', $where = '', $arrWhereVal = array(), $fetchmode = \MDB2_FETCHMODE_ASSOC)
一行をカラム名をキーとした連想配列として取得
at line 754
array
getCol($col, $table = '', $where = '', $arrWhereVal = array())
SELECT 文の実行結果を 1列のみ取得する.
at line 786
delete(string $table, string $where = '', array $arrWhereVal = array())
レコードの削除
at line 804
nextVal($seq_name)
次のシーケンス値を取得する.
at line 815
integer
currVal(string $seq_name)
現在のシーケンス値を取得する.
at line 827
MDB2_OK
setVal(string $seq_name, integer $start)
シーケンス値を設定する.
at line 857
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 882
array
listSequences()
シーケンスの一覧を取得する.
at line 894
array
listTables()
テーブル一覧を取得する.
at line 905
array
listTableFields(string $table)
テーブルのカラム一覧を取得する.
at line 918
array
listTableIndexes(string $table)
テーブルのインデックス一覧を取得する.
at line 933
createIndex(string $table, string $name, array $definition)
テーブルにインデックスを付与する
at line 947
dropIndex(string $table, string $name)
テーブルにインデックスを破棄する
at line 960
array
getTableInfo(string $table)
テーブルの詳細情報を取得する。
at line 978
string
quote(string $val)
値を適切にクォートする.
TODO \MDB2 に対応するための暫定的な措置. プレースホルダが使用できない実装があるため. 本来であれば, \MDB2::prepare() を適切に使用するべき
at line 990
array
extractOnlyColsOf(string $table, array $arrParams)
パラメーターの連想配列から, テーブルに存在する列のみを取得する.
at line 1012
MDB2_Statement_Common
prepare(string $sql, mixed $types = null, mixed $result_types = \MDB2_PREPARE_RESULT)
プリペアドステートメントを構築する.
at line 1031
MDB2_Result
execute(MDB2_Statement_Common $sth, array $arrVal = array())
プリペアドクエリを実行する.
at line 1067
string
traceError(PEAR::Error $error, string $sql = '', array $arrVal = false)
エラーの内容をトレースする.
XXX trigger_error で処理する場合、1024文字以内に抑える必要がある。 XXX 重要な情報を先頭に置き、冗長になりすぎないように留意する。
at line 1084
error($msg)
エラー処理
at line 1104
array
getQueryDefsFields(string $n, array $arr = array(), boolean $ignore_err = false, mixed $types = null, mixed $result_types = \MDB2_PREPARE_RESULT)
SQLクエリの結果セットのカラム名だけを取得する
at line 1216
static Query|null
getPoolInstance(string $dsn = '')
プールしているインスタンスを取得する