CrossPHP

PDOSqlDriver
in package
implements SqlInterface

Tags
author

wonli wonli@live.com Class PDOSqlDriver

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

$connectOptions

protected array<string|int, mixed> $connectOptions

$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 = []

Methods

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
throws
CoreException
see
SQLAssembler::add()
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
throws
CoreException
see
SQLAssembler::del()
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
throws
CoreException
Return values
int|$this

execute()

执行sql 用于无返回值的操作

public execute(string $sql) : int
Parameters
$sql : string
Tags
throws
CoreException
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
throws
CoreException
Return values
mixed

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
throws
CoreException
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
throws
CoreException
Return values
mixed

getAutoIncrementName()

获取自增字段名

public getAutoIncrementName(string $tableName) : string
Parameters
$tableName : string
Return values
string

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

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

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
throws
CoreException
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
throws
CoreException
Return values
$this

rawSql()

支持参数绑定的原生SQL查询

public rawSql(string $sql, array<string|int, mixed> ...$params) : $this
Parameters
$sql : string
$params : array<string|int, mixed>
Return values
$this

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

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
throws
CoreException
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
throws
CoreException
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
throws
CoreException
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
throws
CoreException
Return values
bool

getPrepareResult()

绑定sql语句,执行后给出返回结果

protected getPrepareResult([bool $fetchAll = false ][, int $fetchStyle = PDO::FETCH_ASSOC ]) : mixed
Parameters
$fetchAll : bool = false
$fetchStyle : int = PDO::FETCH_ASSOC
Tags
throws
CoreException
Return values
mixed

generateQueryID()

生成qid

private generateQueryID() : void
Return values
void

Search results