PDOSqlDriver
in package
implements
SqlInterface
Tags
Interfaces, Classes and Traits
- SqlInterface
- Interface SqlInterface
Table of Contents
- $pdo : PDO
- $sql : string
- $stmt : PDOStatement
- $connectOptions : array<string|int, mixed>
- $connector : PDOConnector
- $params : string|array<string|int, mixed>
- $qid : int
- 链式查询每条语句的标示符
- $queryParams : array<string|int, mixed>
- 联系查询生成的参数缓存
- $querySQL : array<string|int, mixed>
- 以qid为key,存储链式查询生成的sql语句
- $SQLAssembler : SQLAssembler
- __construct() : mixed
- 创建数据库连接
- add() : bool|mixed
- 插入数据
- beginTA() : bool
- commit() : bool
- 开启事务
- del() : bool
- 删除
- exec() : int|$this
- 执行参数绑定
- execute() : int
- 执行sql 用于无返回值的操作
- find() : mixed
- 带分页的数据查询
- from() : PDOSqlDriver
- get() : mixed
- 获取单条数据
- getAll() : mixed
- 获取表中所有数据
- getAutoIncrementName() : string
- 获取自增字段名
- getConnector() : PDOConnector
- getMetaData() : mixed
- 获取表的字段信息
- getPrefix() : string
- 获取表前缀
- getSQL() : mixed
- 当前SQL语句及参数
- getSQLAssembler() : SQLAssembler
- groupBy() : PDOSqlDriver
- having() : PDOSqlDriver
- insert() : PDOSqlDriver
- insert
- insertId() : string
- 返回最后操作的id
- into() : PDOSqlDriver
- limit() : PDOSqlDriver
- offset() : PDOSqlDriver
- on() : PDOSqlDriver
- orderBy() : PDOSqlDriver
- parseFields() : string
- 解析fields
- parseGroup() : int|string
- 解析group
- parseOrder() : int|string
- 解析order
- parseWhere() : string
- 解析where
- prepare() : $this
- 参数绑定
- procedure() : PDOSqlDriver
- rawSql() : $this
- 支持参数绑定的原生SQL查询
- replace() : PDOSqlDriver
- replace
- rollBack() : bool
- 回滚
- select() : PDOSqlDriver
- 链式查询以select开始,跟原生的sql语句保持一致
- set() : PDOSqlDriver
- setConnector() : void
- 设置PDOConnector对象
- setSQLAssembler() : void
- 设置SQLAssembler对象
- stmt() : PDOStatement
- 绑定链式查询生成的sql语句并返回stmt对象
- stmtExecute() : bool
- 链式执行操作
- stmtFetch() : mixed
- 返回参数绑定结果
- transaction() : bool
- 事务
- update() : bool
- 数据更新
- where() : PDOSqlDriver
- getPrepareResult() : mixed
- 绑定sql语句,执行后给出返回结果
- generateQueryID() : void
- 生成qid
Properties
$pdo
public
PDO
$pdo
$sql
public
string
$sql
$stmt
public
PDOStatement
$stmt
$connectOptions
protected
array<string|int, mixed>
$connectOptions
$connector
protected
PDOConnector
$connector
$params
protected
string|array<string|int, mixed>
$params
$qid
链式查询每条语句的标示符
protected
int
$qid
$queryParams
联系查询生成的参数缓存
protected
array<string|int, mixed>
$queryParams
$querySQL
以qid为key,存储链式查询生成的sql语句
protected
array<string|int, mixed>
$querySQL
= []
$SQLAssembler
protected
SQLAssembler
$SQLAssembler
Methods
__construct()
创建数据库连接
public
__construct(PDOConnector $connector, SQLAssembler $SQLAssembler, array<string|int, mixed> $connectOptions) : mixed
Parameters
- $connector : PDOConnector
- $SQLAssembler : SQLAssembler
- $connectOptions : array<string|int, mixed>
-
连接配置
Tags
Return values
mixed —add()
插入数据
public
add(string $table, string|array<string|int, mixed> $data[, bool $multi = false ][, array<string|int, mixed> &$insertData = [] ][, bool $openTA = false ]) : bool|mixed
Parameters
- $table : string
- $data : string|array<string|int, mixed>
- $multi : bool = false
-
是否批量添加
- $insertData : array<string|int, mixed> = []
-
批量添加的数据
- $openTA : bool = false
-
批量添加时是否开启事务
Tags
Return values
bool|mixed —beginTA()
public
beginTA() : bool
Return values
bool —commit()
开启事务
public
commit() : bool
Return values
bool —del()
删除
public
del(string $table, string|array<string|int, mixed> $where) : bool
Parameters
- $table : string
- $where : string|array<string|int, mixed>
Tags
Return values
bool —exec()
执行参数绑定
public
exec([array<string|int, mixed> $args = [] ][, bool $rowCount = false ]) : int|$this
Parameters
- $args : array<string|int, mixed> = []
- $rowCount : bool = false
Tags
Return values
int|$this —execute()
执行sql 用于无返回值的操作
public
execute(string $sql) : int
Parameters
- $sql : string
Tags
Return values
int —find()
带分页的数据查询
public
find(string $table, string $fields, string|array<string|int, mixed> $where[, array<string|int, mixed> &$page = ['p' => 1, 'limit' => 10] ][, null $order = null ][, null $groupBy = null ]) : mixed
Parameters
- $table : string
- $fields : string
- $where : string|array<string|int, mixed>
- $page : array<string|int, mixed> = ['p' => 1, 'limit' => 10]
- $order : null = null
- $groupBy : null = null
Tags
Return values
mixed —from()
public
from(string $table) : PDOSqlDriver
Parameters
- $table : string
Return values
PDOSqlDriver —get()
获取单条数据
public
get(string $table, string $fields, string|array<string|int, mixed> $where) : mixed
Parameters
- $table : string
- $fields : string
- $where : string|array<string|int, mixed>
Tags
Return values
mixed —getAll()
获取表中所有数据
public
getAll(string $table, string $fields[, string|array<string|int, mixed> $where = [] ][, mixed $order = null ][, mixed $groupBy = null ][, mixed $limit = null ]) : mixed
Parameters
- $table : string
- $fields : string
- $where : string|array<string|int, mixed> = []
- $order : mixed = null
- $groupBy : mixed = null
- $limit : mixed = null
-
0 表示无限制
Tags
Return values
mixed —getAutoIncrementName()
获取自增字段名
public
getAutoIncrementName(string $tableName) : string
Parameters
- $tableName : string
Return values
string —getConnector()
public
getConnector() : PDOConnector
Return values
PDOConnector —getMetaData()
获取表的字段信息
public
getMetaData(string $table[, bool $fieldsMap = true ]) : mixed
Parameters
- $table : string
- $fieldsMap : bool = true
Return values
mixed —getPrefix()
获取表前缀
public
getPrefix() : string
Return values
string —getSQL()
当前SQL语句及参数
public
getSQL() : mixed
Return values
mixed —getSQLAssembler()
public
getSQLAssembler() : SQLAssembler
Return values
SQLAssembler —groupBy()
public
groupBy( $group) : PDOSqlDriver
Parameters
Return values
PDOSqlDriver —having()
public
having(string $having) : PDOSqlDriver
Parameters
- $having : string
Return values
PDOSqlDriver —insert()
insert
public
insert(string $table[, array<string|int, mixed> $data = [] ][, string $modifier = '' ]) : PDOSqlDriver
Parameters
- $table : string
- $data : array<string|int, mixed> = []
- $modifier : string = ''
Return values
PDOSqlDriver —insertId()
返回最后操作的id
public
insertId() : string
Return values
string —into()
public
into(string $var_name) : PDOSqlDriver
Parameters
- $var_name : string
Return values
PDOSqlDriver —limit()
public
limit(int $start[, int|null $end = null ]) : PDOSqlDriver
Parameters
- $start : int
- $end : int|null = null
Return values
PDOSqlDriver —offset()
public
offset(int $offset) : PDOSqlDriver
Parameters
- $offset : int
Return values
PDOSqlDriver —on()
public
on(string $on) : PDOSqlDriver
Parameters
- $on : string
Return values
PDOSqlDriver —orderBy()
public
orderBy( $order) : PDOSqlDriver
Parameters
Return values
PDOSqlDriver —parseFields()
解析fields
public
parseFields(string|array<string|int, mixed> $fields) : string
Parameters
- $fields : string|array<string|int, mixed>
Return values
string —parseGroup()
解析group
public
parseGroup(mixed $groupBy) : int|string
Parameters
- $groupBy : mixed
Return values
int|string —parseOrder()
解析order
public
parseOrder(string|array<string|int, mixed> $order) : int|string
Parameters
- $order : string|array<string|int, mixed>
Return values
int|string —parseWhere()
解析where
public
parseWhere(string|array<string|int, mixed> $where, string|array<string|int, mixed> &$params) : string
Parameters
- $where : string|array<string|int, mixed>
- $params : string|array<string|int, mixed>
Tags
Return values
string —prepare()
参数绑定
public
prepare(string $statement[, array<string|int, mixed> $params = [PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY] ]) : $this
Parameters
- $statement : string
- $params : array<string|int, mixed> = [PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY]
Tags
Return values
$this —procedure()
public
procedure(string $procedure) : PDOSqlDriver
Parameters
- $procedure : string
Return values
PDOSqlDriver —rawSql()
支持参数绑定的原生SQL查询
public
rawSql(string $sql, array<string|int, mixed> ...$params) : $this
Parameters
- $sql : string
- $params : array<string|int, mixed>
Return values
$this —replace()
replace
public
replace(string $table[, string $modifier = '' ]) : PDOSqlDriver
Parameters
- $table : string
- $modifier : string = ''
Return values
PDOSqlDriver —rollBack()
回滚
public
rollBack() : bool
Return values
bool —select()
链式查询以select开始,跟原生的sql语句保持一致
public
select([string $fields = '*' ][, string $modifier = '' ]) : PDOSqlDriver
Parameters
- $fields : string = '*'
- $modifier : string = ''
Return values
PDOSqlDriver —set()
public
set(mixed $set) : PDOSqlDriver
Parameters
- $set : mixed
Return values
PDOSqlDriver —setConnector()
设置PDOConnector对象
public
setConnector(PDOConnector $connector) : void
Parameters
- $connector : PDOConnector
Return values
void —setSQLAssembler()
设置SQLAssembler对象
public
setSQLAssembler(SQLAssembler $SQLAssembler) : void
Parameters
- $SQLAssembler : SQLAssembler
Return values
void —stmt()
绑定链式查询生成的sql语句并返回stmt对象
public
stmt([bool $execute = true ][, array<string|int, mixed> $prepareParams = [PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY] ]) : PDOStatement
Parameters
- $execute : bool = true
-
是否调用stmt的execute
- $prepareParams : array<string|int, mixed> = [PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY]
-
prepare时的参数
Tags
Return values
PDOStatement —stmtExecute()
链式执行操作
public
stmtExecute([array<string|int, mixed> $prepareParams = [PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY] ]) : bool
Parameters
- $prepareParams : array<string|int, mixed> = [PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY]
Tags
Return values
bool —stmtFetch()
返回参数绑定结果
public
stmtFetch([bool $fetchAll = false ][, int $fetchStyle = PDO::FETCH_ASSOC ]) : mixed
Parameters
- $fetchAll : bool = false
- $fetchStyle : int = PDO::FETCH_ASSOC
Tags
Return values
mixed —transaction()
事务
public
transaction(Closure $handle[, null &$result = null ]) : bool
Parameters
- $handle : Closure
- $result : null = null
Return values
bool —update()
数据更新
public
update(string $table, string|array<string|int, mixed> $data, string|array<string|int, mixed> $where) : bool
Parameters
- $table : string
- $data : string|array<string|int, mixed>
- $where : string|array<string|int, mixed>
Tags
Return values
bool —where()
public
where( $where) : PDOSqlDriver
Parameters
Tags
Return values
PDOSqlDriver —getPrepareResult()
绑定sql语句,执行后给出返回结果
protected
getPrepareResult([bool $fetchAll = false ][, int $fetchStyle = PDO::FETCH_ASSOC ]) : mixed
Parameters
- $fetchAll : bool = false
- $fetchStyle : int = PDO::FETCH_ASSOC
Tags
Return values
mixed —generateQueryID()
生成qid
private
generateQueryID() : void