Properties

$PDOStatement

$PDOStatement : \PDOStatement

Type

\PDOStatement — PDO操作实例

$queryStr

$queryStr : string

Type

string — 当前SQL指令

$numRows

$numRows

$transTimes

$transTimes

$error

$error

$links

$links : \PDO[]

Type

PDO[] — 数据库连接ID 支持多个连接

$linkID

$linkID : \PDO

Type

\PDO — 当前连接ID

$linkRead

$linkRead

$linkWrite

$linkWrite

$fetchType

$fetchType

$attrCase

$attrCase

$event

$event

$builder

$builder

$config

$config

$params

$params

$bind

$bind

Methods

__construct()

__construct(array  $config = []) : mixed

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

Parameters

array $config

数据库配置数组

Returns

mixed —

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 = [], int  $linkNum, array|bool  $autoConnection = false) : \PDO

连接数据库方法

Parameters

array $config

连接参数

int $linkNum

连接序号

array|bool $autoConnection

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

Throws

\think\Exception

Returns

\PDO —

free()

free() : mixed

释放查询结果

Returns

mixed —

getPdo()

getPdo() : \PDO|false

获取PDO对象

Returns

\PDO|false —

query()

query(string  $sql, array  $bind = [], bool  $master = false, bool  $pdo = false) : mixed

执行查询 返回数据集

Parameters

string $sql

sql指令

array $bind

参数绑定

bool $master

是否在主服务器读操作

bool $pdo

是否返回PDO对象

Throws

\think\exception\PDOException
\Exception

Returns

mixed —

execute()

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

执行语句

Parameters

string $sql

sql指令

array $bind

参数绑定

\think\db\Query $query

查询对象

Throws

\think\exception\PDOException
\Exception

Returns

int —

getRealSql()

getRealSql(string  $sql, array  $bind = []) : 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() : bool|mixed

启动事务

Throws

\Exception

Returns

bool|mixed —

commit()

commit() : void

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

Throws

\think\exception\PDOException

rollback()

rollback() : void

事务回滚

Throws

\think\exception\PDOException

batchQuery()

batchQuery(array  $sqlArray = [], mixed  $bind = [], \think\db\Query  $query = null) : bool

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

Parameters

array $sqlArray

SQL批处理指令

mixed $bind
\think\db\Query $query

Returns

bool —

getQueryTimes()

getQueryTimes(bool  $execute = false) : int

获得查询次数

Parameters

bool $execute

是否包含所有查询

Returns

int —

getExecuteTimes()

getExecuteTimes() : int

获得执行次数

Returns

int —

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() : int

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

Returns

int —

getError()

getError() : string

获取最近的错误信息

Returns

string —

quote()

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

SQL指令安全过滤

Parameters

string $str

SQL字符串

bool $master

是否主库查询

Returns

string —

listen()

listen(callable  $callback) : void

监听SQL执行

Parameters

callable $callback

回调方法

__destruct()

__destruct() : mixed

析构方法

Returns

mixed —

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 = []) : 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(bool  $pdo = false, bool  $procedure = false) : \PDOStatement|array

获得数据集数组

Parameters

bool $pdo

是否返回PDOStatement

bool $procedure

是否存储过程

Returns

\PDOStatement|array —

procedure()

procedure() : array

获得存储过程数据集

Returns

array —

supportSavepoint()

supportSavepoint() : bool

是否支持事务嵌套

Returns

bool —

parseSavepoint()

parseSavepoint( $name) : string

生成定义保存点的SQL

Parameters

$name

Returns

string —

parseSavepointRollBack()

parseSavepointRollBack( $name) : string

生成回滚到保存点的SQL

Parameters

$name

Returns

string —

isBreak()

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

是否断线

Parameters

\PDOException|\Exception $e

异常对象

Returns

bool —

debug()

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

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

Parameters

bool $start

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

string $sql

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

bool $master

主从标记

trigger()

trigger(string  $sql, float  $runtime, mixed  $explain = [], bool  $master = false) : void

触发SQL事件

Parameters

string $sql

SQL语句

float $runtime

SQL运行时间

mixed $explain

SQL分析

bool $master

主从标记

initConnect()

initConnect(bool  $master = true) : void

初始化数据库连接

Parameters

bool $master

是否主服务器

multiConnect()

multiConnect(bool  $master = false) : \PDO

连接分布式服务器

Parameters

bool $master

主服务器

Returns

\PDO —