类声明
常量
-
string
FETCH_TYPE_ASSOC ¶'assoc'
对应于 PDO::FETCH_ASSOC。
-
string
FETCH_TYPE_NUM ¶'num'
对应于 PDO::FETCH_NUM。
-
string
FETCH_TYPE_OBJ ¶'obj'
对应于 PDO::FETCH_OBJ。
-
array<string, int>
MODE_NAME_MAP ¶[self::FETCH_TYPE_ASSOC => PDO::FETCH_ASSOC, self::FETCH_TYPE_NUM => PDO::FETCH_NUM, self::FETCH_TYPE_OBJ => PDO::FETCH_OBJ]
方法概要
-
__construct() public
-
bind() public
将一组值与相应的类型绑定到语句对象。
-
bindValue() public
将值分配给准备好的查询中的位置或命名变量。如果使用位置变量,则需要从索引 1 开始,如果使用命名参数,则按任何顺序使用名称。
-
cast() protected
根据类型将给定值转换为合适的数据库值,并返回相关的内部语句类型。
-
closeCursor() public
关闭游标,使语句可以再次执行。
-
columnCount() public
返回结果集中的列数。
-
convertMode() protected
将模式名称转换为 PDO 常量。
-
errorCode() public
获取与语句句柄上的最后一次操作关联的 SQLSTATE。
-
errorInfo() public
获取与语句句柄上的最后一次操作关联的扩展错误信息。
-
execute() public
通过将 SQL 查询发送到数据库来执行语句。它可以选择性地接受一个数组或参数,这些参数将绑定到查询变量。请注意,从此方法绑定参数不会执行任何自定义类型转换,因为通常在调用
bindValue
时会发生这种情况。 -
fetch() public
从结果集获取下一行,并将字段转换为基于 TypeMap 的类型。
-
fetchAll() public
从结果集获取剩余的行,并将字段转换为基于 TypeMap 的类型。
-
fetchAssoc() public
使用 PDO::FETCH_ASSOC 从结果集获取下一行,并将字段转换为基于 TypeMap 的类型。
-
fetchColumn() public
使用 PDO::FETCH_NUM 从结果集获取下一行,并将字段转换为基于 TypeMap 的类型。
-
getBoundParams() public
获取绑定参数。
-
getIterator() public
获取内部迭代器
-
lastInsertId() public
返回使用此语句插入的最新主键。
-
performBind() protected
-
queryString() public
返回存储在 PDOStatement 中的准备好的查询字符串。
-
rowCount() public
返回受最后一个 SQL 语句影响的行数。
方法详情
__construct() ¶ public
__construct(PDOStatement $statement, Cake\Database\Driver $driver, listClosure> $resultDecorators = [])
参数
-
PDOStatement
$statement PDO 语句
-
Cake\Database\Driver
$driver 数据库驱动程序
-
listClosure>
$resultDecorators optional 结果装饰器
bind() ¶ public
bind(array $params, array $types): void
将一组值与相应的类型绑定到语句对象。
参数
-
array
$params -
array
$types
返回
void
bindValue() ¶ public
bindValue(string|int $column, mixed $value, string|int|null $type = 'string'): void
将值分配给准备好的查询中的位置或命名变量。如果使用位置变量,则需要从索引 1 开始,如果使用命名参数,则按任何顺序使用名称。
不允许在同一个语句中组合位置变量和命名变量。
示例
$statement->bindValue(1, 'a title');
$statement->bindValue('active', true, 'boolean');
$statement->bindValue(5, new \DateTime(), 'date');
参数
-
string|int
$column -
mixed
$value -
string|int|null
$type optional
返回
void
cast() ¶ protected
cast(mixed $value, Cake\Database\TypeInterface|string|int $type = 'string'): array
根据类型将给定值转换为合适的数据库值,并返回相关的内部语句类型。
参数
-
mixed
$value 要转换的值。
-
Cake\Database\TypeInterface|string|int
$type optional 要使用的类型名称或类型实例。
返回
array
closeCursor() ¶ public
closeCursor(): void
关闭游标,使语句可以再次执行。
此方法的行为与 PDOStatement::closeCursor()
相同。
返回
void
convertMode() ¶ protected
convertMode(string|int $mode): int
将模式名称转换为 PDO 常量。
参数
-
string|int
$mode 模式名称或 PDO 常量
返回
int
抛出
InvalidArgumentException
errorCode() ¶ public
errorCode(): string
获取与语句句柄上的最后一次操作关联的 SQLSTATE。
此方法的行为与 PDOStatement::errorCode()
相同。
返回
string
errorInfo() ¶ public
errorInfo(): array
获取与语句句柄上的最后一次操作关联的扩展错误信息。
此方法的行为与 PDOStatement::errorInfo()
相同。
返回
array
execute() ¶ public
execute(array|null $params = null): bool
通过将 SQL 查询发送到数据库来执行语句。它可以选择性地接受一个数组或参数,这些参数将绑定到查询变量。请注意,从此方法绑定参数不会执行任何自定义类型转换,因为通常在调用 bindValue
时会发生这种情况。
参数
-
array|null
$params optional
返回
bool
fetch() ¶ public
fetch(string|int $mode = PDO::FETCH_NUM): mixed
从结果集获取下一行,并将字段转换为基于 TypeMap 的类型。
此方法的行为与 PDOStatement::fetch()
相同。
参数
-
string|int
$mode optional
返回
mixed
fetchAll() ¶ public
fetchAll(string|int $mode = PDO::FETCH_NUM): array
从结果集获取剩余的行,并将字段转换为基于 TypeMap 的类型。
此方法的行为与 PDOStatement::fetchAll()
相同。
参数
-
string|int
$mode optional
返回
array
fetchAssoc() ¶ public
fetchAssoc(): array
使用 PDO::FETCH_ASSOC 从结果集获取下一行,并将字段转换为基于 TypeMap 的类型。
此方法的行为与 PDOStatement::fetch()
相同,只是返回空数组而不是 false。
返回
array
fetchColumn() ¶ public
fetchColumn(int $position): mixed
使用 PDO::FETCH_NUM 从结果集获取下一行,并将字段转换为基于 TypeMap 的类型。
此方法的行为与 PDOStatement::fetch()
相同,只是只返回行中的特定列。
参数
-
int
$position
返回
mixed
lastInsertId() ¶ public
lastInsertId(string|null $table = null, string|null $column = null): string|int
返回使用此语句插入的最新主键。
参数
-
string|null
$table 可选 -
string|null
$column 可选
返回
string|int
performBind() ¶ protected
performBind(string|int $column, mixed $value, int $type): void
参数
-
string|int
$column -
mixed
$value -
int
$type
返回
void
rowCount() ¶ public
rowCount(): int
返回受最后一个 SQL 语句影响的行数。
此方法的行为与 PDOStatement::rowCount()
相同。
返回
int