database类
版本 | 1.0+ |
命名空间 | boa |
文件 | boa/database.php |
说明 | 数据库操作类,配置:'DATABASE' => [], |
配置
配置项 | 默认值 | 类型 | 说明 |
---|---|---|---|
driver | pdo | string | 数据库驱动,可选值:pdo,mysqli |
prefix | string | 表前缀 | |
charset | utf8 | string | 数据库字符集,不要请置空 |
persist | false | bool | 是否持久连接 |
option | [] | array | 数据库选项,因驱动而异 |
type | mysql | string | 数据库类型,仅对pdo驱动有效 支持类型参见章节:数据库连接 |
host | localhost | string | 数据库主机 |
port | 3306 | int | 数据库端口 |
name | string | 数据库名称 | |
user | null | string | 数据库用户 |
pass | null | string | 数据库密码 |
master | [] | array | 主数据库(集),如设置此项,则表示开启读写分离主从模式,单例模式无需设置。 里面可以直接设置一组服务器信息,也可以设置多组服务器信息(二维数组)。 一组完整设置应该包含:type,charset,persist,option,host,port,name,user,pass字段, 省略的字段系统则使用上面相应的默认字段替代 |
slave | [] | array | 从数据库(集),含义同master |
hashtype | 0 | int | 主从模式哈希计算方式,可选值:0=取模,1=随机 |
目录
方法 | 说明 |
---|---|
__construct() | 初始化 |
execute() | 无结果集的SQL查询(insert,update,delete等),会产生一条info日志 |
query() | 带结果集的SQL查询(select等),会产生一条info日志 |
one() | 同query(),仅返回一条记录 |
lastid() | 得到最近insert操作的插入行ID或指定字段值 |
page() | 获得查询相关分页数据,给视图类或前端脚本显示分页 |
begin() | 事务开启 |
commit() | 事务提交 |
rollback() | 事务回滚 |
stmt_execute() | 无结果集的预处理查询初始化(insert,update,delete等) |
stmt_query() | 带结果集的预处理查询初始化(select等) |
table() | 初始化查询构造器类,准备构造一条SQL语句 |
__call() | 魔术方法,映射到查询构造器类中方法,设置SQL语句的各个属性,详见builder类 |
select() | 在SQL构造中执行查询操作 |
find() | 同select(),仅返回一条记录 |
insert() | 在SQL构造中执行插入操作 |
update() | 在SQL构造中执行更新操作 |
delete() | 在SQL构造中执行删除操作 |
方法
说明 | ||||
---|---|---|---|---|
初始化 | ||||
参数 | 必须 | 默认值 | 类型 | 说明 |
$cfg | [] | array | 配置数据 | |
示例 | ||||
|
说明 | ||||
---|---|---|---|---|
无结果集的SQL查询(insert,update,delete等),会产生一条info日志 | ||||
参数 | 必须 | 默认值 | 类型 | 说明 |
$... | Y | string | 动态参数,首个参数为SQL语句,其余为该SQL的替换变量 | |
返回值 | ||||
如果成功返回受影响行数(int),如果失败,在错误返回模式下返回false(bool),否则报错(默认) | ||||
示例 | ||||
|
说明 | ||||
---|---|---|---|---|
带结果集的SQL查询(select等),会产生一条info日志 | ||||
参数 | 必须 | 默认值 | 类型 | 说明 |
$... | Y | string | 动态参数,首个参数为SQL语句,其余为该SQL的替换变量 | |
返回值 | ||||
如果成功返回查询结果(array),如果失败,在错误返回模式下返回false(bool),否则报错(默认) | ||||
示例 | ||||
|
说明 | ||||
---|---|---|---|---|
同query(),仅返回一条记录 | ||||
参数 | 必须 | 默认值 | 类型 | 说明 |
$... | Y | string | 动态参数,首个参数为SQL语句,其余为该SQL的替换变量 | |
返回值 | ||||
如果成功返回一条结果(array),如果失败,在错误返回模式下返回false(bool),否则报错(默认) | ||||
示例 | ||||
|
说明 | ||||
---|---|---|---|---|
得到最近insert操作的插入行ID或指定字段值 | ||||
参数 | 必须 | 默认值 | 类型 | 说明 |
$name | null | string | 表字段名,如设置则返回该字段值,而非ID(仅pdo驱动支持) | |
返回值 | ||||
如设置name参数,则返回name所指定的字段值(string),否则返回ID(int) | ||||
示例 | ||||
|
说明 | ||||
---|---|---|---|---|
获得查询相关分页数据,给视图类或前端脚本显示分页 | ||||
参数 | 必须 | 默认值 | 类型 | 说明 |
$pagesize | 10 | int | 每页记录数 | |
$sql | null | string | 查询记录总数的SQL,如未指定则依据最近一次select查询解析出相关SQL | |
返回值 | ||||
返回分页数据(array),主要包含字段:total(记录总数)、pagesize(每页记录数)、pages(总页数)、current(当前页) | ||||
示例 | ||||
|
说明 | ||||
---|---|---|---|---|
事务开启 | ||||
返回值 | ||||
成功返回true,失败返回false |
说明 | ||||
---|---|---|---|---|
事务提交 | ||||
返回值 | ||||
成功返回true,失败返回false |
说明 | ||||
---|---|---|---|---|
事务回滚 | ||||
返回值 | ||||
成功返回true,失败返回false |
说明 | ||||
---|---|---|---|---|
无结果集的预处理查询初始化(insert,update,delete等) | ||||
参数 | 必须 | 默认值 | 类型 | 说明 |
$sql | Y | string | 含?占位符的SQL模板 | |
返回值 | ||||
返回预处理查询类实例(object) | ||||
示例 | ||||
|
说明 | ||||
---|---|---|---|---|
带结果集的预处理查询初始化(select等) | ||||
参数 | 必须 | 默认值 | 类型 | 说明 |
$sql | Y | string | 含?占位符的SQL模板 | |
返回值 | ||||
返回预处理查询类实例(object) | ||||
示例 | ||||
|
说明 | ||||
---|---|---|---|---|
初始化查询构造器类,准备构造一条SQL语句 | ||||
参数 | 必须 | 默认值 | 类型 | 说明 |
$table | Y | string | 要操作的数据表名,支持别名 | |
返回值 | ||||
返回$this(object) |
说明 | ||||
---|---|---|---|---|
魔术方法,映射到查询构造器类中方法,设置SQL语句的各个属性,详见builder类 | ||||
参数 | 必须 | 默认值 | 类型 | 说明 |
$name | Y | string | 查询构造器类中方法名 | |
$args | Y | string | 对应方法参数 | |
返回值 | ||||
返回$this(object) | ||||
示例 | ||||
|
说明 | ||||
---|---|---|---|---|
在SQL构造中执行查询操作 | ||||
返回值 | ||||
如果成功返回查询结果(array),如果失败,在错误返回模式下返回false(bool),否则报错(默认) | ||||
示例 | ||||
|
说明 | ||||
---|---|---|---|---|
同select(),仅返回一条记录 | ||||
返回值 | ||||
如果成功返回一条结果(array),如果失败,在错误返回模式下返回false(bool),否则报错(默认) | ||||
示例 | ||||
|
说明 | ||||
---|---|---|---|---|
在SQL构造中执行插入操作 | ||||
参数 | 必须 | 默认值 | 类型 | 说明 |
$data | Y | array | 要插入的数据 | |
返回值 | ||||
如果成功返回插入行ID(int),如果失败,在错误返回模式下返回false(bool),否则报错(默认) | ||||
示例 | ||||
|
说明 | ||||
---|---|---|---|---|
在SQL构造中执行更新操作 | ||||
参数 | 必须 | 默认值 | 类型 | 说明 |
$data | Y | array | 要更新的数据 | |
返回值 | ||||
如果成功返回受影响的行数(int),如果失败,在返错误回模式下返回false(bool),否则报错(默认) | ||||
示例 | ||||
|
说明 | ||||
---|---|---|---|---|
在SQL构造中执行删除操作 | ||||
返回值 | ||||
如果成功返回受影响的行数(int),如果失败,在错误返回模式下返回false(bool),否则报错(默认) | ||||
示例 | ||||
|