主从说明
如果配置了从数据库,增删改默认使用主数据库,查默认使用从数据库。
数据绑定
数据库操作使用参数绑定,可以防止前端注入攻击!!!
sql_get([
"table" => "tablename",
"where" => "name LIKE :name AND mobile = :mobile",
"order" => "id DESC",
"bind" => [
":name" => "%{$name}%",
":mobile" => $mobile,
],
]);
// :name、:mobile 就被 $name、$mobile 给替换掉了,并且过滤掉sql注入风险
sql_get - 查一条数据
sql_get([
"table" => "",
"where" => "",
"order" => "",
"bind" => [],
"fields" => "",
]);
字段 | 字符类型 | 必填 | 说明 |
---|
table | string | 是 | 表名称,不含前缀 |
where | string | 否 | 查询条件 a = 1 AND b = 2 |
order | string | 否 | 排序 id DESC, order_no ASC |
bind | array | 否 | 参数绑定 |
fields | string | 否 | 默认为*,SUM(pay) as total |
assign
| string | 否 | 操作数据库,主master、从slave
|
sql_getall - 查多条数据
sql_getall([
"table" => "",
"where" => "",
"order" => "",
"bind" => [],
"fields" => "",
"setkey" => "",
"limit" => "",
]);
字段 | 字符类型 | 必填 | 说明 |
---|
table | string | 是 | 数据表名称,不含前缀 |
where | string | 否 | 查询条件 a = 1 AND b = 2 |
order | string | 否 | 排序 id DESC, order_no ASC |
bind | array | 否 | 参数绑定 |
setkey | string | 否 | 修改输出数组的键为指定key键的值 |
fields | string | 否 | 默认为*,SUM(pay) as total |
limit | string|array | 是 | string/10:获取10条数据;array/[0,10]:获取第0-10条数据 |
assign
| string | 否 | 操作数据库,主master、从slave
|
sql_update - 改
sql_update([
"table" => "",
"data" => [],
"where" => "",
"bind" => [],
"math" => [],
]);
字段 | 字符类型 | 必填 | 说明 |
---|
table | string | 是 | 数据表名称,不含前缀 |
data | array | 是 | 需要更新的数据数组 如 ["views" => 2] |
where | string | 否 | 查询条件 a = 1 AND b = 2 |
bind | array | 否 | 参数绑定 |
math | array | 否 | 更新数据库时的计算操作 如 ["views" => "+"] 代表给views增加上边data的2 |
assign
| string | 否 | 操作数据库,主master、从slave
|
sql_insert - 增
sql_insert([
"table" => "",
"data" => [],
"bind" => [],
]);
字段 | 字符类型 | 必填 | 说明 |
---|
table | string | 是 | 数据表名称,不含前缀 |
data | array | 是 | 数据数组,支持多条数据同时新增 |
bind | array | 否 | 参数绑定 |
assign
| string | 否 | 操作数据库,主master、从slave
|
sql_delete - 删
sql_delete([
"table" => "",
"where" => "",
"bind" => [],
]);
字段 | 字符类型 | 必填 | 说明 |
---|
table | string | 是 | 数据表名称,不含前缀 |
where | string | 是 | 查询条件 a = 1 AND b = 2 |
bind | array | 否 | 参数绑定 |
assign
| string | 否 | 操作数据库,主master、从slave
|
sql_query - 自定义操作
sql_query($query, $assign);
// $query 为完整的Mysql语句
// $assign 非必填,主master、从slave
sql_counter - 获取数据条数
sql_counter([
"table" => "",
"where" => "",
"bind" => [],
"fields" => ""
]);
字段 | 字符类型 | 必填 | 说明 |
---|
table | string | 是 | 数据表名称,不含前缀 |
where | string | 否 | 查询条件 a = 1 AND b = 2 |
bind | array | 否 | 参数绑定 |
fields | string | 否 | 默认为 COUNT(*) |
assign
| string | 否 | 操作数据库,主master、从slave
|
sql_total - 统计字段值
sql_total([
"table" => "",
"where" => "",
"order" => "",
"bind" => [],
"fields" => "",
"limit" => [],
]);
字段 | 字符类型 | 必填 | 说明 |
---|
table | string | 是 | 数据表名称,不含前缀 |
where | string | 否 | 查询条件 a = 1 AND b = 2 |
order | string | 否 | 排序 id DESC, order_no ASC |
bind | array | 否 | 参数绑定 |
fields | string | 是 | 支持SUM、COUNT、AVG、MAX、MIN |
limit | string|array | 否 | string/10:获取10条数据;array/[0,10]:获取第0-10条数据 |
assign
| string | 否 | 操作数据库,主master、从slave
|
sql_insert_id - 最后插入的数据ID
sql_insert_id();
sql_affected_rows - 上一次操作的条数
sql_affected_rows();
sql_error - 上一次操作错误说明
可以用来判断上一条数据表操作是否成功,失败会有返回错误信息,成功则返回空。
sql_error();
sql_errno - 上一次操作错误编号
sql_errno();
事务操作
//第一步:开启事务
sql_begin();
//第二步:你需要的sql操作
//sql_get(); sql_update(); 等等
//第三步:提交事务,return true or false
sql_commit();
//如果mysql语句中有错误,提交事务时会自动回滚,如果是其中方法有错误,需要手动回滚
sql_rollback();