ThinkPHP5


think\Connection
library\think\db\Connection.php at line 32

Class Connection

Connection
All Known Subclasses:
think\db\connector\Mysql think\db\connector\Pgsql think\db\connector\Sqlite think\db\connector\Sqlsrv

public abstract class Connection

Class Connection

Method:
Query table(string $table) 指定数据表(含前缀)
Query name(string $name) 指定数据表(不含前缀)

Constructor Summary
void

__construct(array config)

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

Method Summary
Query

model(string model, string queryClass)

创建指定模型的查询对象

protected abstract string

parseDsn(array config)

解析pdo连接的dsn信息

abstract array

getFields(string tableName)

取得数据表的字段信息

abstract array

getTables(string dbName)

取得数据库的表信息

protected abstract array

getExplain(string sql)

SQL性能分析

array

fieldCase(array info)

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

mixed

getConfig(string config)

获取数据库的配置参数

void

setConfig(string|array config, mixed value)

设置数据库的配置参数

PDO

connect(array config, integer linkNum, array|bool autoConnection)

连接数据库方法

void

free()

释放查询结果

\PDO|false

getPdo()

获取PDO对象

mixed

query(string sql, array bind, boolean master, bool|string class)

执行查询 返回数据集

int

execute(string sql, array bind)

执行语句

string

getRealSql(string sql, array bind)

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

protected void

bindValue(array bind)

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

protected mixed

getResult(bool|string class, bool procedure)

获得数据集

protected array

procedure(bool|string class)

获得存储过程数据集

mixed

transaction(callable callback)

执行数据库事务

void

startTrans()

启动事务

void

commit()

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

void

rollback()

事务回滚

protected bool

supportSavepoint()

是否支持事务嵌套

protected string

parseSavepoint($name name)

生成定义保存点的SQL

protected string

parseSavepointRollBack($name name)

生成回滚到保存点的SQL

boolean

batchQuery(array sqlArray)

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

integer

getQueryTimes(boolean execute)

获得查询次数

integer

getExecuteTimes()

获得执行次数

void

close()

关闭数据库

string

getLastSql()

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

string

getLastInsID(string sequence)

获取最近插入的ID

integer

getNumRows()

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

string

getError()

获取最近的错误信息

string

quote(string str, bool master)

SQL指令安全过滤

protected void

debug(boolean start, string sql)

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

void

listen(callable callback)

监听SQL执行

protected bool

trigger(string sql, float runtime, mixed explain)

触发SQL事件

protected void

initConnect(boolean master)

初始化数据库连接

protected PDO

multiConnect(boolean master)

连接分布式服务器

Constructor Detail

library\think\db\Connection.php at line 76

__construct

public void __construct(array config)

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

Parameters:
config - 数据库配置数组

Method Detail

library\think\db\Connection.php at line 90

model

public Query model(string model, string queryClass)

创建指定模型的查询对象

Parameters:
model - 模型类名称
queryClass - 查询对象类名

library\think\db\Connection.php at line 121

parseDsn

protected abstract string parseDsn(array config)

解析pdo连接的dsn信息

Parameters:
config - 连接信息

library\think\db\Connection.php at line 129

getFields

public abstract array getFields(string tableName)

取得数据表的字段信息


library\think\db\Connection.php at line 137

getTables

public abstract array getTables(string dbName)

取得数据库的表信息


library\think\db\Connection.php at line 145

getExplain

protected abstract array getExplain(string sql)

SQL性能分析


library\think\db\Connection.php at line 153

fieldCase

public array fieldCase(array info)

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

Parameters:
info - 字段信息

library\think\db\Connection.php at line 176

getConfig

public mixed getConfig(string config)

获取数据库的配置参数

Parameters:
config - 配置名称

library\think\db\Connection.php at line 188

setConfig

public void setConfig(string|array config, mixed value)

设置数据库的配置参数

Parameters:
config - 配置名称
value - 配置值

library\think\db\Connection.php at line 206

connect

public PDO connect(array config, integer linkNum, array|bool autoConnection)

连接数据库方法

Parameters:
config - 连接参数
linkNum - 连接序号
autoConnection - 是否自动连接主数据库(用于分布式)
Throws:
Exception

library\think\db\Connection.php at line 254

free

public void free()

释放查询结果


library\think\db\Connection.php at line 264

getPdo

public \PDO|false getPdo()

获取PDO对象


library\think\db\Connection.php at line 284

query

public mixed query(string sql, array bind, boolean master, bool|string class)

执行查询 返回数据集

Parameters:
sql - sql指令
bind - 参数绑定
master - 是否在主服务器读操作
class - 指定返回的数据集对象
Throws:
BindParamException
PDOException

library\think\db\Connection.php at line 326

execute

public int execute(string sql, array bind)

执行语句

Parameters:
sql - sql指令
bind - 参数绑定
Throws:
BindParamException
PDOException

library\think\db\Connection.php at line 367

getRealSql

public string getRealSql(string sql, array bind)

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

Parameters:
sql - 带参数绑定的sql语句
bind - 参数绑定列表

library\think\db\Connection.php at line 399

bindValue

protected void bindValue(array bind)

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

Parameters:
bind - 要绑定的参数列表
Throws:
\think\Exception

library\think\db\Connection.php at line 430

getResult

protected mixed getResult(bool|string class, bool procedure)

获得数据集

Parameters:
class - true 返回PDOStatement 字符串用于指定返回的类名
procedure - 是否存储过程

library\think\db\Connection.php at line 459

procedure

protected array procedure(bool|string class)

获得存储过程数据集

Parameters:
class - true 返回PDOStatement 字符串用于指定返回的类名

library\think\db\Connection.php at line 481

transaction

public mixed transaction(callable callback)

执行数据库事务

Parameters:
callback - 数据操作方法回调
Throws:
PDOException
\Exception
\Throwable

library\think\db\Connection.php at line 505

startTrans

public void startTrans()

启动事务


library\think\db\Connection.php at line 529

commit

public void commit()

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

Throws:
PDOException

library\think\db\Connection.php at line 546

rollback

public void rollback()

事务回滚

Throws:
PDOException

library\think\db\Connection.php at line 565

supportSavepoint

protected bool supportSavepoint()

是否支持事务嵌套


library\think\db\Connection.php at line 575

parseSavepoint

protected string parseSavepoint($name name)

生成定义保存点的SQL


library\think\db\Connection.php at line 585

parseSavepointRollBack

protected string parseSavepointRollBack($name name)

生成回滚到保存点的SQL


library\think\db\Connection.php at line 597

batchQuery

public boolean batchQuery(array sqlArray)

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

Parameters:
sqlArray - SQL批处理指令

library\think\db\Connection.php at line 623

getQueryTimes

public integer getQueryTimes(boolean execute)

获得查询次数

Parameters:
execute - 是否包含所有查询

library\think\db\Connection.php at line 633

getExecuteTimes

public integer getExecuteTimes()

获得执行次数


library\think\db\Connection.php at line 642

close

public void close()

关闭数据库


library\think\db\Connection.php at line 652

getLastSql

public string getLastSql()

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


library\think\db\Connection.php at line 663

getLastInsID

public string getLastInsID(string sequence)

获取最近插入的ID

Parameters:
sequence - 自增序列名

library\think\db\Connection.php at line 673

getNumRows

public integer getNumRows()

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


library\think\db\Connection.php at line 683

getError

public string getError()

获取最近的错误信息


library\think\db\Connection.php at line 704

quote

public string quote(string str, bool master)

SQL指令安全过滤

Parameters:
str - SQL字符串
master - 是否主库查询

library\think\db\Connection.php at line 717

debug

protected void debug(boolean start, string sql)

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

Parameters:
start - 调试开始标记 true 开始 false 结束
sql - 执行的SQL语句 留空自动获取

library\think\db\Connection.php at line 746

listen

public void listen(callable callback)

监听SQL执行

Parameters:
callback - 回调方法

library\think\db\Connection.php at line 759

trigger

protected bool trigger(string sql, float runtime, mixed explain)

触发SQL事件

Parameters:
sql - SQL语句
runtime - SQL运行时间
explain - SQL分析

library\think\db\Connection.php at line 782

initConnect

protected void initConnect(boolean master)

初始化数据库连接

Parameters:
master - 是否主服务器

library\think\db\Connection.php at line 809

multiConnect

protected PDO multiConnect(boolean master)

连接分布式服务器

Parameters:
master - 主服务器

ThinkPHP5