接口 StatementInterface
常量
方法摘要
-
bind() public
将一组值绑定到语句对象,并使用相应的类型。
-
bindValue() public
将值分配给预处理查询中的位置或命名变量。如果使用位置变量,则需要从索引 1 开始,如果使用命名参数,则按任意顺序使用名称即可。
-
closeCursor() public
关闭游标,使语句可以再次执行。
-
columnCount() public
返回结果集中的列数。
-
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
获取绑定的参数。
-
lastInsertId() public
返回使用此语句插入的最新主键。
-
queryString() public
返回预处理查询字符串。
-
rowCount() public
返回受上一个 SQL 语句影响的行数。
方法详情
bind() ¶ public
bind(array $params, array $types): void
将一组值绑定到语句对象,并使用相应的类型。
参数
-
array
$params 要绑定的值列表
-
array
$types 要使用的类型列表,键应该与 $params 中的键匹配
返回
空
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 可选 配置的 Type 类名称
返回
空
closeCursor() ¶ public
closeCursor(): void
关闭游标,使语句可以再次执行。
这与 PDOStatement::closeCursor()
的行为相同。
返回
空
columnCount() ¶ public
columnCount(): int
返回结果集中的列数。
这与 PDOStatement::columnCount()
的行为相同。
返回
int
链接
errorCode() ¶ public
errorCode(): string
获取与语句句柄上的最后一次操作相关的 SQLSTATE。
这与 PDOStatement::errorCode()
的行为相同。
返回
字符串
链接
errorInfo() ¶ public
errorInfo(): array
获取与语句句柄上的最后一次操作相关的扩展错误信息。
这与 PDOStatement::errorInfo()
的行为相同。
返回
数组
链接
execute() ¶ public
execute(array|null $params = null): bool
通过将 SQL 查询发送到数据库来执行语句。它可以选择性地接受一个数组或参数来绑定到查询变量。请注意,从该方法绑定参数不会执行任何自定义类型转换,因为在调用 bindValue
时通常会发生。
参数
-
array|null
$params 可选 要绑定到查询的值列表
返回
布尔值
fetch() ¶ public
fetch(string|int $mode = PDO::FETCH_NUM): mixed
从结果集中获取下一行,并根据 TypeMap 将字段转换为类型。
这与 PDOStatement::fetch()
的行为相同。
参数
-
string|int
$mode 可选 PDO::FETCH_* 常量或获取模式名称。有效名称是 'assoc'、'num' 或 'obj'。
返回
混合
抛出
InvalidArgumentException
链接
fetchAll() ¶ public
fetchAll(string|int $mode = PDO::FETCH_NUM): array
从结果集中获取剩余的行,并根据 TypeMap 将字段转换为类型。
这与 PDOStatement::fetchAll()
的行为相同。
参数
-
string|int
$mode 可选 PDO::FETCH_* 常量或获取模式名称。有效名称是 'assoc'、'num' 或 'obj'。
返回
数组
抛出
InvalidArgumentException
链接
fetchAssoc() ¶ public
fetchAssoc(): array
使用 PDO::FETCH_ASSOC 从结果集中获取下一行,并根据 TypeMap 将字段转换为类型。
这与 PDOStatement::fetch()
的行为相同,只是返回一个空数组而不是 false。
返回
数组
fetchColumn() ¶ public
fetchColumn(int $position): mixed
使用 PDO::FETCH_NUM 从结果集中获取下一行,并根据 TypeMap 将字段转换为类型。
这与 PDOStatement::fetch()
的行为相同,只是只返回行中的特定列。
参数
-
int
$position 结果行中的列索引。
返回
混合
lastInsertId() ¶ public
lastInsertId(string|null $table = null, string|null $column = null): string|int
返回使用此语句插入的最新主键。
参数
-
string|null
$table 可选 获取最后一个插入值的表名或序列
-
string|null
$column 可选 表示主键的列名
返回
string|int
rowCount() # 公开
rowCount(): int
返回受上一个 SQL 语句影响的行数。
此方法的行为与 PDOStatement::rowCount()
相同。
返回
int