Properties

$PDOStatement

$PDOStatement : \PDOStatement

Type

\PDOStatement — PDO操作实例

$queryStr

$queryStr : string

Type

string — 当前SQL指令

$numRows

$numRows : 

Type

$transTimes

$transTimes : 

Type

$error

$error : 

Type

$links

$links : array<mixed,\PDO>

Type

array<mixed,\PDO> — 数据库连接ID 支持多个连接

$linkID

$linkID : \PDO

Type

\PDO — 当前连接ID

$linkRead

$linkRead : 

Type

$linkWrite

$linkWrite : 

Type

$fetchType

$fetchType : 

Type

$attrCase

$attrCase : 

Type

$event

$event : 

Type

$builder

$builder : 

Type

$config

$config : 

Type

$params

$params : 

Type

$bind

$bind : 

Type

Methods

__construct()

__construct(array  $config = array()) 

构造函数 读取数据库配置信息

Parameters

array $config

数据库配置数组

getBuilder()

getBuilder() : string

获取当前连接器类对应的Builder类

Returns

string

__call()

__call(string  $method, array  $args) : mixed

调用Query类的查询方法

Parameters

string $method

方法名称

array $args

调用参数

Returns

mixed

getFields()

getFields(string  $tableName) : array

取得数据表的字段信息

Parameters

string $tableName

Returns

array

getTables()

getTables(string  $dbName = '') : array

取得数据库的表信息

Parameters

string $dbName

Returns

array

fieldCase()

fieldCase(array  $info) : array

对返数据表字段信息进行大小写转换出来

Parameters

array $info

字段信息

Returns

array

getConfig()

getConfig(string  $config = '') : mixed

获取数据库的配置参数

Parameters

string $config

配置名称

Returns

mixed

setConfig()

setConfig(string|array  $config, mixed  $value = '') : void

设置数据库的配置参数

Parameters

string|array $config

配置名称

mixed $value

配置值

connect()

connect(array  $config = array(), integer  $linkNum, array|boolean  $autoConnection = false) : \PDO

连接数据库方法

Parameters

array $config

连接参数

integer $linkNum

连接序号

array|boolean $autoConnection

是否自动连接主数据库(用于分布式)

Throws

\think\Exception

Returns

\PDO

free()

free() 

释放查询结果

getPdo()

getPdo() : \PDO|false

获取PDO对象

Returns

\PDO|false

query()

query(string  $sql, array  $bind = array(), boolean  $master = false, boolean  $pdo = false) : mixed

执行查询 返回数据集

Parameters

string $sql

sql指令

array $bind

参数绑定

boolean $master

是否在主服务器读操作

boolean $pdo

是否返回PDO对象

Throws

\think\exception\PDOException
\Exception

Returns

mixed

execute()

execute(string  $sql, array  $bind = array(), \think\db\Query  $query = null) : integer

执行语句

Parameters

string $sql

sql指令

array $bind

参数绑定

\think\db\Query $query

查询对象

Throws

\think\exception\PDOException
\Exception

Returns

integer

getRealSql()

getRealSql(string  $sql, array  $bind = array()) : string

根据参数绑定组装最终的SQL语句 便于调试

Parameters

string $sql

带参数绑定的sql语句

array $bind

参数绑定列表

Returns

string

transaction()

transaction(callable  $callback) : mixed

执行数据库事务

Parameters

callable $callback

数据操作方法回调

Throws

\think\exception\PDOException
\Exception
\Throwable

Returns

mixed

startTrans()

startTrans() : boolean|mixed

启动事务

Throws

\Exception

Returns

boolean|mixed

commit()

commit() : void

用于非自动提交状态下面的查询提交

Throws

\think\exception\PDOException

rollback()

rollback() : void

事务回滚

Throws

\think\exception\PDOException

batchQuery()

batchQuery(array  $sqlArray = array(),   $bind = array(), \think\db\Query  $query = null) : boolean

批处理执行SQL语句 批处理的指令都认为是execute操作

Parameters

array $sqlArray

SQL批处理指令

$bind
\think\db\Query $query

Returns

boolean

getQueryTimes()

getQueryTimes(boolean  $execute = false) : integer

获得查询次数

Parameters

boolean $execute

是否包含所有查询

Returns

integer

getExecuteTimes()

getExecuteTimes() : integer

获得执行次数

Returns

integer

close()

close() : $this

关闭数据库(或者重新连接)

Returns

$this

getLastSql()

getLastSql() : string

获取最近一次查询的sql语句

Returns

string

getLastInsID()

getLastInsID(string  $sequence = null) : string

获取最近插入的ID

Parameters

string $sequence

自增序列名

Returns

string

getNumRows()

getNumRows() : integer

获取返回或者影响的记录数

Returns

integer

getError()

getError() : string

获取最近的错误信息

Returns

string

quote()

quote(string  $str, boolean  $master = true) : string

SQL指令安全过滤

Parameters

string $str

SQL字符串

boolean $master

是否主库查询

Returns

string

listen()

listen(callable  $callback) : void

监听SQL执行

Parameters

callable $callback

回调方法

__destruct()

__destruct() 

析构方法

table()

table(string  $table) : \think\db\Query

指定数据表(含前缀)

Parameters

string $table

Returns

\think\db\Query

name()

name(string  $name) : \think\db\Query

指定数据表(不含前缀)

Parameters

string $name

Returns

\think\db\Query

getQuery()

getQuery() : \think\db\Query

获取新的查询对象

Returns

\think\db\Query

parseDsn()

parseDsn(array  $config) : string

解析pdo连接的dsn信息

Parameters

array $config

连接信息

Returns

string

getExplain()

getExplain(string  $sql) : array

SQL性能分析

Parameters

string $sql

Returns

array

bindValue()

bindValue(array  $bind = array()) : void

参数绑定 支持 ['name'=>'value','id'=>123] 对应命名占位符 或者 ['value',123] 对应问号占位符

Parameters

array $bind

要绑定的参数列表

Throws

\think\db\exception\BindParamException

bindParam()

bindParam(array  $bind) : void

存储过程的输入输出参数绑定

Parameters

array $bind

要绑定的参数列表

Throws

\think\db\exception\BindParamException

getResult()

getResult(boolean  $pdo = false, boolean  $procedure = false) : \PDOStatement|array

获得数据集数组

Parameters

boolean $pdo

是否返回PDOStatement

boolean $procedure

是否存储过程

Returns

\PDOStatement|array

procedure()

procedure() : array

获得存储过程数据集

Returns

array

supportSavepoint()

supportSavepoint() : boolean

是否支持事务嵌套

Returns

boolean

parseSavepoint()

parseSavepoint(  $name) : string

生成定义保存点的SQL

Parameters

$name

Returns

string

parseSavepointRollBack()

parseSavepointRollBack(  $name) : string

生成回滚到保存点的SQL

Parameters

$name

Returns

string

isBreak()

isBreak(\PDOException|\Exception  $e) : boolean

是否断线

Parameters

\PDOException|\Exception $e

异常对象

Returns

boolean

debug()

debug(boolean  $start, string  $sql = '', boolean  $master = false) : void

数据库调试 记录当前SQL及分析性能

Parameters

boolean $start

调试开始标记 true 开始 false 结束

string $sql

执行的SQL语句 留空自动获取

boolean $master

主从标记

trigger()

trigger(string  $sql, float  $runtime, mixed  $explain = array(), boolean  $master = false) : void

触发SQL事件

Parameters

string $sql

SQL语句

float $runtime

SQL运行时间

mixed $explain

SQL分析

boolean $master

主从标记

initConnect()

initConnect(boolean  $master = true) : void

初始化数据库连接

Parameters

boolean $master

是否主服务器

multiConnect()

multiConnect(boolean  $master = false) : \PDO

连接分布式服务器

Parameters

boolean $master

主服务器

Returns

\PDO