class Pdo extends Base

Orm MySql数据库Pdo实现类

Methods

__construct($conf)

数据库连接串

array
getTables()

获取当前db所有表名

array
getAllTableStatus()

获取当前数据库中所有表的信息

mixed
getDbFields( string $table, mixed $tablePrefix = null, int $filter)

获取表字段

array
get( string $key, bool $and = true, bool|string $useMaster = false, null|string $tablePrefix = null)

根据key取出数据

bool|int
set( string $table, array $data, mixed $tablePrefix = null)

新增 一条数据

bool|array
setMulti( string $table, array $field, array $data, mixed $tablePrefix = null, bool $openTransAction = true)

新增多条数据

boolean
update( string|array $key, array $data = null, bool $and = true, mixed $tablePrefix = null)

根据key更新一条数据

boolean
delete( string $key = '', bool $and = true, mixed $tablePrefix = null)

根据key值删除数据

boolean
truncate( string $tableName)

根据表名删除数据 这个操作太危险慎用。不过一般情况程序也没这个权限

mixed
count( string $field = '*', bool $isMulti = false, bool|string $useMaster = false)

获取 COUNT(字段名或*) 的结果

mixed
max( string $field = 'id', bool|string $isMulti = false, bool|string $useMaster = false)

获取 MAX(字段名) 的结果

mixed
min( string $field = 'id', bool|string $isMulti = false, bool|string $useMaster = false)

获取 MIN(字段名) 的结果

mixed
sum( string $field = 'id', bool|string $isMulti = false, bool|string $useMaster = false)

获取 SUM(字段名) 的结果

mixed
avg( string $field = 'id', bool|string $isMulti = false, bool|string $useMaster = false)

获取 AVG(字段名) 的结果

$this
forceIndex( string $table, string $index, string $tablePrefix = null)

强制使用索引

string|array
buildSql( null $offset = null, null $limit = null, bool $isSelect = false)

构建sql

array
select( int $offset = null, int $limit = null, bool $useMaster = false)

获取多条数据

int
affectedRows( resource $handle, int $type)

返回INSERT,UPDATE 或 DELETE 查询所影响的记录行数。

int
insertId( resource $link = null)

获取上一INSERT的主键值

mixed
connect( string $host, string $username, string $password, string $dbName, string $charset = 'utf8', string $engine = '', bool $pConnect = false)

Db连接

bool
increment( string $key, int $val = 1, string $field = null, mixed $tablePrefix = null)

指定字段的值+1

bool
decrement( string $key, int $val = 1, string $field = null, mixed $tablePrefix = null)

指定字段的值-1

prepare( string $sql, PDO $link = null, bool $resetParams = true)

预处理语句

bool
execute( object $stmt, bool $clearBindParams = true)

执行预处理语句

close()

关闭连接

string
version( resource $link = null)

获取mysql 版本

bool
startTransAction()

开启事务

bool
commit()

提交事务

bool
savePoint( string $pointName)

设置一个事务保存点

bool
rollBack( bool $rollBackTo = false)

回滚事务

array|int
callProcedure( string $procedureName = '', array $bindParams = array(), bool|true $isSelect = true)

调用存储过程

Details

at line line 55
__construct($conf)

数据库连接串

Parameters

$conf

at line line 69
array getTables()

获取当前db所有表名

Return Value

array

at line line 86
array getAllTableStatus()

获取当前数据库中所有表的信息

Return Value

array

at line line 107
mixed getDbFields( string $table, mixed $tablePrefix = null, int $filter)

获取表字段

Parameters

string $table 表名
mixed $tablePrefix 表前缀,不传则获取配置中配置的前缀
int $filter 0 获取表字段详细信息数组 1获取字段以,号相隔组成的字符串

Return Value

mixed

at line line 162
array get( string $key, bool $and = true, bool|string $useMaster = false, null|string $tablePrefix = null)

根据key取出数据

Parameters

string $key get('user-uid-123');
bool $and 多个条件之间是否为and true为and false为or
bool|string $useMaster 是否使用主库 默认读取从库 此选项为字符串时为表前缀$tablePrefix
null|string $tablePrefix 表前缀

Return Value

array

at line line 209
bool|int set( string $table, array $data, mixed $tablePrefix = null)

新增 一条数据

Parameters

string $table
array $data eg: ['username'=>'admin', 'email'=>'linhechengbush@live.com']
mixed $tablePrefix 表前缀 不传则获取配置中配置的前缀

Return Value

bool|int

at line line 237
bool|array setMulti( string $table, array $field, array $data, mixed $tablePrefix = null, bool $openTransAction = true)

新增多条数据

Parameters

string $table
array $field 字段 eg: ['title', 'msg', 'status', 'ctime‘]
array $data eg: 多条数据的值 [['标题1', '内容1', 1, '2017'], ['标题2', '内容2', 1, '2017']]
mixed $tablePrefix 表前缀 不传则获取配置中配置的前缀
bool $openTransAction 是否开启事务 默认开启

Return Value

bool|array

Exceptions

InvalidArgumentException

at line line 281
boolean update( string|array $key, array $data = null, bool $and = true, mixed $tablePrefix = null)

根据key更新一条数据

Parameters

string|array $key eg 'user-uid-$uid' 如果条件是通用whereXX()、表名是通过table()设定。这边可以直接传$data的数组
array $data | null $data eg: ['username'=>'admin', 'email'=>'linhechengbush@live.com']
bool $and 多个条件之间是否为and true为and false为or
mixed $tablePrefix 表前缀 不传则获取配置中配置的前缀

Return Value

boolean

at line line 329
boolean delete( string $key = '', bool $and = true, mixed $tablePrefix = null)

根据key值删除数据

Parameters

string $key eg: 'user-uid-$uid'
bool $and 多个条件之间是否为and true为and false为or
mixed $tablePrefix 表前缀 不传则获取配置中配置的前缀

Return Value

boolean

at line line 381
boolean truncate( string $tableName)

根据表名删除数据 这个操作太危险慎用。不过一般情况程序也没这个权限

Parameters

string $tableName 要清空的表名

Return Value

boolean

at line line 399
mixed count( string $field = '*', bool $isMulti = false, bool|string $useMaster = false)

获取 COUNT(字段名或*) 的结果

Parameters

string $field 要统计的字段名
bool $isMulti 结果集是否为多条 默认只有一条
bool|string $useMaster 是否使用主库 默认读取从库

Return Value

mixed

at line line 413
mixed max( string $field = 'id', bool|string $isMulti = false, bool|string $useMaster = false)

获取 MAX(字段名) 的结果

Parameters

string $field 要统计的字段名
bool|string $isMulti 结果集是否为多条 默认只有一条。传字符串时相当于执行了 groupBy($isMulti)
bool|string $useMaster 是否使用主库 默认读取从库

Return Value

mixed

at line line 427
mixed min( string $field = 'id', bool|string $isMulti = false, bool|string $useMaster = false)

获取 MIN(字段名) 的结果

Parameters

string $field 要统计的字段名
bool|string $isMulti 结果集是否为多条 默认只有一条。传字符串时相当于执行了 groupBy($isMulti)
bool|string $useMaster 是否使用主库 默认读取从库

Return Value

mixed

at line line 441
mixed sum( string $field = 'id', bool|string $isMulti = false, bool|string $useMaster = false)

获取 SUM(字段名) 的结果

Parameters

string $field 要统计的字段名
bool|string $isMulti 结果集是否为多条 默认只有一条。传字符串时相当于执行了 groupBy($isMulti)
bool|string $useMaster 是否使用主库 默认读取从库

Return Value

mixed

at line line 455
mixed avg( string $field = 'id', bool|string $isMulti = false, bool|string $useMaster = false)

获取 AVG(字段名) 的结果

Parameters

string $field 要统计的字段名
bool|string $isMulti 结果集是否为多条 默认只有一条。传字符串时相当于执行了 groupBy($isMulti)
bool|string $useMaster 是否使用主库 默认读取从库

Return Value

mixed

at line line 537
$this forceIndex( string $table, string $index, string $tablePrefix = null)

强制使用索引

Parameters

string $table 要强制索引的表名(不带前缀)
string $index 要强制使用的索引
string $tablePrefix 表前缀 不传则获取配置中配置的前缀

Return Value

$this

at line line 553
string|array buildSql( null $offset = null, null $limit = null, bool $isSelect = false)

构建sql

Parameters

null $offset 偏移量
null $limit 返回的条数
bool $isSelect 是否为select调用, 是则不重置查询参数并返回cacheKey/否则直接返回sql并重置查询参数

Return Value

string|array

at line line 588
array select( int $offset = null, int $limit = null, bool $useMaster = false)

获取多条数据

Parameters

int $offset 偏移量
int $limit 返回的条数
bool $useMaster 是否使用主库 默认读取从库

Return Value

array

at line line 626
int affectedRows( resource $handle, int $type)

返回INSERT,UPDATE 或 DELETE 查询所影响的记录行数。

Parameters

resource $handle mysql link
int $type 执行的类型1:insert、2:update、3:delete

Return Value

int

at line line 638
int insertId( resource $link = null)

获取上一INSERT的主键值

Parameters

resource $link

Return Value

int

at line line 657
mixed connect( string $host, string $username, string $password, string $dbName, string $charset = 'utf8', string $engine = '', bool $pConnect = false)

Db连接

Parameters

string $host 数据库host
string $username 数据库用户名
string $password 数据库密码
string $dbName 数据库名
string $charset 字符集
string $engine 引擎
bool $pConnect 是否为长连接

Return Value

mixed

at line line 702
bool increment( string $key, int $val = 1, string $field = null, mixed $tablePrefix = null)

指定字段的值+1

Parameters

string $key 操作的key eg: user-id-1
int $val
string $field 要改变的字段
mixed $tablePrefix 表前缀 不传则获取配置中配置的前缀

Return Value

bool

at line line 730
bool decrement( string $key, int $val = 1, string $field = null, mixed $tablePrefix = null)

指定字段的值-1

Parameters

string $key 操作的key user-id-1
int $val
string $field 要改变的字段
mixed $tablePrefix 表前缀 不传则获取配置中配置的前缀

Return Value

bool

at line line 758
PDOStatement prepare( string $sql, PDO $link = null, bool $resetParams = true)

预处理语句

Parameters

string $sql 要预处理的sql语句
PDO $link
bool $resetParams

Return Value

PDOStatement

at line line 789
bool execute( object $stmt, bool $clearBindParams = true)

执行预处理语句

Parameters

object $stmt PDOStatement
bool $clearBindParams

Return Value

bool

at line line 851
close()

关闭连接

at line line 870
string version( resource $link = null)

获取mysql 版本

Parameters

resource $link

Return Value

string

at line line 881
bool startTransAction()

开启事务

Return Value

bool

at line line 891
bool commit()

提交事务

Return Value

bool

at line line 903
bool savePoint( string $pointName)

设置一个事务保存点

Parameters

string $pointName 保存点名称

Return Value

bool

at line line 915
bool rollBack( bool $rollBackTo = false)

回滚事务

Parameters

bool $rollBackTo 是否为还原到某个保存点

Return Value

bool

at line line 933
array|int callProcedure( string $procedureName = '', array $bindParams = array(), bool|true $isSelect = true)

调用存储过程

Parameters

string $procedureName 要调用的存储过程名称
array $bindParams 绑定的参数
bool|true $isSelect 是否为返回数据集的语句

Return Value

array|int