fyre / db
数据库库。
Requires
- fyre/datetime: ^3.0
- fyre/typeparser: ^3.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.59
- fyre/php-cs-fixer-config: ^1.0
- phpunit/phpunit: ^10
- dev-main
- v4.1.3
- v4.1.2
- v4.1.1
- v4.1.0
- v4.0.4
- v4.0.3
- v4.0.2
- v4.0.1
- v4.0
- v3.1.2
- v3.1.1
- v3.1.0
- v3.0.3
- v3.0.2
- v3.0.1
- v3.0
- v2.0.5
- v2.0.4
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0
- v1.3.1
- v1.3.0
- v1.2.8
- v1.2.7
- v1.2.6
- v1.2.5
- v1.2.4
- v1.2.3
- v1.2.2
- v1.2.1
- v1.2.0
- v1.1.11
- v1.1.10
- v1.1.9
- v1.1.8
- v1.1.7
- v1.1.6
- v1.1.5
- v1.1.4
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.9
- v1.0.8
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0
This package is auto-updated.
Last update: 2024-09-18 05:43:39 UTC
README
FyreDB是一个免费的、开源的PHP数据库库。
目录
安装
使用Composer
composer require fyre/db
在PHP中
use Fyre\DB\ConnectionManager;
方法
清除
清除并关闭连接。
ConnectionManager::clear();
获取配置
设置连接配置。
$key是一个表示连接键的字符串。
$config = ConnectionManager::getConfig($key);
或者,如果省略了$key参数,将返回包含所有配置的数组。
$config = ConnectionManager::getConfig();
获取键
获取连接实例的键。
$connection是一个连接。
$key = ConnectionManager::getKey($connection);
检查配置
检查是否存在连接配置。
$key是一个表示连接键的字符串,默认为ConnectionManager::DEFAULT。
$hasConfig = ConnectionManager::hasConfig($key);
检查是否已加载
检查连接实例是否已加载。
$key是一个表示连接键的字符串,默认为ConnectionManager::DEFAULT。
$isLoaded = ConnectionManager::isLoaded($key);
加载
加载一个连接。
$options是一个包含配置选项的数组。
$connection = ConnectionManager::load($options);
设置配置
设置连接配置。
$key是一个表示连接键的字符串。$options是一个包含配置选项的数组。
ConnectionManager::setConfig($key, $options);
或者,可以提供一个包含配置选项键/值的单个数组。
ConnectionManager::setConfig($config);
卸载
卸载一个连接。
$key是一个表示连接键的字符串,默认为ConnectionManager::DEFAULT。
$unloaded = ConnectionManager::unload($key);
使用
加载一个共享的连接实例。
$key是一个表示连接键的字符串,默认为ConnectionManager::DEFAULT。
$connection = ConnectionManager::use($key);
连接
您可以通过指定上面$options变量的className选项来加载特定的连接处理程序。
可以通过扩展\Fyre\DB\Connection创建自定义连接处理程序,确保实现以下所有方法。
自定义处理程序还应实现一个返回新QueryGenerator(如果需要)的generator方法,以及一个返回用于结果的类名的静态方法resultSetClass。
受影响的行
获取受影响的行数。
$affectedRows = $connection->affectedRows();
开始
开始一个事务。
$connection->begin();
提交
提交一个事务。
$connection->commit();
连接
连接到数据库。
$connection->connect();
当创建连接时自动调用此方法。
删除
创建一个删除查询。
$alias是一个包含要删除的表别名的字符串或数组,默认为null。
$query = $connection->delete($alias);
断开连接
从数据库断开连接。
$connection->disconnect();
执行
使用绑定参数执行SQL查询。
$sql是一个表示SQL查询的字符串。$params是一个包含绑定参数的数组。
$result = $connection->execute($sql, $params);
SQL查询可以使用?作为占位符(用于数字索引的参数),或者使用前缀为:的数组键。
此方法将返回SELECT查询的结果集。其他查询类型将返回布尔值。
获取字符集
获取连接字符集。
$charset = $connection->getCharset();
获取错误
获取最后一个连接错误。
$error = $connection->getError();
事务中
确定事务是否正在进行。
$inTransaction = $connection->inTransaction();
插入
创建一个InsertQuery。
$query = $connection->insert();
从...插入
创建一个InsertFromQuery。
$from是一个闭包、SelectQuery、QueryLiteral或表示查询的字符串。$columns是列名数组。
$query = $connection->insertFrom($from, $columns);
插入ID
获取最后一个插入的ID。
$id = $connection->insertId();
在进行批量插入时,此方法将返回MySQL连接的第一个ID,以及Postgres和Sqlite的最后一个ID。
文本
创建一个QueryLiteral。
$string是表示文本字符串的字符串。
$literal = $connection->literal($string);
查询
执行SQL查询。
$sql是一个表示SQL查询的字符串。
$result = $connection->query($sql);
此方法将返回SELECT查询的结果集。其他查询类型将返回布尔值。
引用
引用SQL查询中使用的字符串。
$value是表示要引用的值的字符串。
$quoted = $connection->quote($value);
替换
创建一个ReplaceQuery。
$query = $connection->replace();
此方法仅支持使用MysqlConnection或SqliteConnection的查询。
回滚
回滚事务。
$connection->rollback();
选择
创建一个SelectQuery。
$fields是表示要选择的字段数组或字符串,默认为"*"。
$query = $connection->select($fields);
非数字数组键将用作字段别名。
如果提供了一个SelectQuery或QueryLiteral作为数组值,它们将被转换为字符串并且不会转义。
也可以提供一个闭包作为数组值,其中第一个参数是Connection,第二个参数是ValueBinder。
设置字符集
设置连接字符集。
$charset是表示连接字符集的字符串。
$connection->setCharset($charset);
事务性
在数据库事务内执行回调。
$callback是在事务内执行的闭包。
$result = $connection->transactional($callback);
如果回调返回false或抛出Exception,则事务将回滚,否则将提交。
更新
创建一个UpdateQuery。
$table是表示表(s)的数组或字符串。
$query = $connection->update($table);
非数字数组键将用作表别名。
批量更新
创建一个UpdateBatchQuery。
$table是表示表(s)的数组或字符串。
$query = $connection->updateBatch($table);
非数字数组键将用作表别名。
版本
获取服务器版本。
$version = $connection->version();
MySQL
可以使用自定义配置加载MySQL连接。
$key是表示连接键的字符串。$options是一个包含配置选项的数组。className必须设置为\Fyre\DB\Handlers\Mysql\MysqlConnection。host是表示MySQL主机的字符串,默认为"127.0.0.1"。username是表示MySQL用户名的字符串。password是表示MySQL密码的字符串。database是表示MySQL数据库的字符串。port是表示MySQL端口的数字,默认为3306。collation是表示校对的字符串,默认为"utf8mb4_unicode_ci"。charset是表示字符集的字符串,默认为"utf8mb4"。compress是表示是否启用压缩的布尔值,默认为false。persist是表示是否使用持久连接的布尔值,默认为false。timeout是表示连接超时的数字。ssl是包含SSL选项的数组。key是表示密钥文件路径的字符串。cert是表示证书文件路径的字符串。ca是表示证书颁发机构文件路径的字符串。capath是表示包含 CA 证书的目录路径的字符串。cipher是表示用于加密的可允许密码列表的字符串。
flags是包含 PDO 连接选项的数组。
ConnectionManager::setConfig($key, $options); $connection = ConnectionManager::use($key);
获取校对
获取连接校对。
$collation = $connection->getCollation();
Postgres
可以使用自定义配置加载 Postgres 连接。
$key是表示连接键的字符串。$options是一个包含配置选项的数组。className必须设置为\Fyre\DB\Handlers\Postgres\PostgresConnection。host是表示 Postgres 主机的字符串,默认为 "127.0.0.1"。username是表示 Postgres 用户名的字符串。password是表示 Postgres 密码的字符串。database是表示 Postgres 数据库的字符串。port是表示 Postgres 端口的数字,默认为 5432。charset是表示字符集的字符串,默认为 "utf8"。schema是表示模式集的字符串,默认为 "public"。persist是表示是否使用持久连接的布尔值,默认为false。timeout是表示连接超时的数字。flags是包含 PDO 连接选项的数组。
ConnectionManager::setConfig($key, $options); $connection = ConnectionManager::use($key);
设置模式
设置连接模式。
$schema是表示连接模式的字符串。
$connection->setSchema($schema);
Sqlite
可以使用自定义配置加载 Sqlite 连接。
$key是表示连接键的字符串。$options是一个包含配置选项的数组。className必须设置为\Fyre\DB\Handlers\Sqlite\SqliteConnection。database是表示 Sqlite 数据库文件的字符串,默认为 ":memory:"。mask是表示数据库文件权限的数字,默认为 0644。cache是表示缓存标志的字符串。mode是表示模式标志的字符串。persist是表示是否使用持久连接的布尔值,默认为false。flags是包含 PDO 连接选项的数组。
ConnectionManager::setConfig($key, $options); $connection = ConnectionManager::use($key);
查询
\Fyre\DB\Query 类提供了与构建查询相关的基类方法,并由下述查询类型类扩展。
执行
执行查询。
$result = $query->execute();
此方法将返回SELECT查询的结果集。其他查询类型将返回布尔值。
连接
获取 连接。
$connection = $query->getConnection();
获取表
获取表(们)。
$table = $query->getTable();
SQL
生成 SQL 查询。
$sql = $query->sql();
表
设置表(们)。
$table是表示表(s)的数组或字符串。$overwrite是一个布尔值,指示是否覆盖现有表,默认为 false。
$query->table($table, $overwrite);
非数字数组键将用作表别名。
如果提供了一个SelectQuery或QueryLiteral作为数组值,它们将被转换为字符串并且不会转义。
也可以将 Closure 作为数组值提供,其中第一个参数将是 Connection。
删除
\Fyre\DB\Queries\DeleteQuery 类扩展了 查询 类,同时提供执行 DELETE 查询的额外方法。
$connection ->delete($alias) ->from($table) ->where($conditions) ->execute();
仅支持在 MysqlConnection 用于查询的多表。
别名
设置删除别名(们)。
$alias是一个包含要删除的表别名的字符串或数组,默认为null。$overwrite是一个布尔值,指示是否覆盖现有别名,默认为 false。
$query->alias($alias, $overwrite);
此方法仅支持使用 MysqlConnection 的查询。
结束语
设置结束语。
$epilog是表示查询结束语的字符串。
$query->epilog($epilog);
From
设置 FROM 表。
$table是表示表(s)的数组或字符串。$overwrite是一个布尔值,指示是否覆盖现有表,默认为 false。
$query->from($table, $overwrite);
非数字数组键将用作表别名。
获取别名
获取删除别名(们)。
$alias = $query->getAlias();
获取结束语
获取结束语。
$epilog = $query->getEpilog();
获取 From
获取 FROM 表。
$table = $query->getFrom();
获取 Join
获取 JOIN 表。
$joins = $query->getJoin();
获取 Limit
获取 LIMIT 子句。
$limit = $query->getLimit();
获取 Order By
获取 ORDER BY 字段。
$orderBy = $query->getOrderBy();
获取 Using
获取 USING 表。
$table = $query->getUsing();
获取 Where
获取 WHERE 条件。
$conditions = $query->getWhere();
Join
设置 JOIN 表。
$joins是连接的二维数组。$overwrite是一个布尔值,指示是否覆盖现有连接,默认为 false。
$query->join($joins, $overwrite);
每个连接数组可以包含一个 table、alias、type 和一个表示 conditions 的数组。如果未指定 type,则默认为 INNER。
此方法仅支持使用 MysqlConnection 的查询。
Limit
设置 LIMIT 子句。
$limit是表示查询限制的数字。
$query->limit($limit);
Order By
设置 ORDER BY 字段。
$fields是表示要排序的字段的数组或字符串。$overwrite是一个布尔值,表示是否覆盖现有字段,默认为false。
$query->orderBy($fields, $overwrite);
使用
设置USING表。
$table是一个数组或字符串,表示使用表。$overwrite是一个布尔值,表示是否覆盖现有的使用表,默认为false。
$query->using($table, $overwrite);
此方法仅支持使用PostgresConnection的查询。
WHERE
设置WHERE条件。
$conditions是一个数组或字符串,表示WHERE条件。$overwrite是一个布尔值,表示是否覆盖现有的条件,默认为false。
$query->where($conditions, $overwrite);
数组条件可以包含
- 数字键的文本值。
- 键/值对,其中键是字段(和比较运算符),而值将被转义。
- 包含一组条件的数组值。除非数组键是"OR"或"NOT",否则它们将使用AND运算符连接。
如果提供了一个SelectQuery或QueryLiteral作为数组值,它们将被转换为字符串并且不会转义。
也可以提供一个闭包作为数组值,其中第一个参数是Connection,第二个参数是ValueBinder。
插入
\Fyre\DB\Queries\InsertQuery类扩展了Query类,同时提供了执行INSERT查询的额外方法。
$connection ->insert() ->into($table) ->values($values) ->execute();
结束语
设置结束语。
$epilog是表示查询结束语的字符串。
$query->epilog($epilog);
获取结束语
获取结束语。
$epilog = $query->getEpilog();
获取INTO
获取INTO表。
$table = $query->getInto();
获取值
获取REPLACE数据。
$values = $query->getValues();
INTO
设置INTO表。
$table是一个字符串,表示表。$overwrite是一个布尔值,指示是否覆盖现有表,默认为 false。
$query->into($table, $overwrite);
值
$values是一个二维数组,表示要插入的值。$overwrite是一个布尔值,表示是否覆盖现有数据,默认为false。
$query->values($values, $overwrite);
数组键将用于列名,而值将自动转义。
如果提供了一个SelectQuery或QueryLiteral作为数组值,它们将被转换为字符串并且不会转义。
也可以提供一个闭包作为数组值,其中第一个参数是Connection,第二个参数是ValueBinder。
从...插入
\Fyre\DB\Queries\InsertFromQuery类扩展了Query类,同时提供了从SELECT查询执行INSERT查询的额外方法。
$connection ->insertFrom($from, $columns) ->into($table) ->execute();
结束语
设置结束语。
$epilog是表示查询结束语的字符串。
$query->epilog($epilog);
获取结束语
获取结束语。
$epilog = $query->getEpilog();
获取INTO
获取INTO表。
$table = $query->getInto();
INTO
设置INTO表。
$table是一个字符串,表示表。$overwrite是一个布尔值,指示是否覆盖现有表,默认为 false。
$query->into($table, $overwrite);
替换
\Fyre\DB\Queries\ReplaceQuery类扩展了Query类,同时提供了执行REPLACE查询的额外方法。
$connection ->replace() ->into($table) ->values($values) ->execute();
结束语
设置结束语。
$epilog是表示查询结束语的字符串。
$query->epilog($epilog);
获取结束语
获取结束语。
$epilog = $query->getEpilog();
获取INTO
获取INTO表。
$table = $query->getInto();
获取值
获取REPLACE数据。
$values = $query->getValues();
INTO
设置INTO表。
$table是一个字符串,表示表。$overwrite是一个布尔值,指示是否覆盖现有表,默认为 false。
$query->into($table, $overwrite);
值
$values是一个二维数组,表示要插入的值。$overwrite是一个布尔值,表示是否覆盖现有数据,默认为false。
$query->values($values, $overwrite);
数组键将用于列名,而值将自动转义。
如果提供了一个SelectQuery或QueryLiteral作为数组值,它们将被转换为字符串并且不会转义。
也可以提供一个闭包作为数组值,其中第一个参数是Connection,第二个参数是ValueBinder。
选择
\Fyre\DB\Queries\SelectQuery类扩展了Query类,同时提供了执行SELECT查询的额外方法。
$results = $connection ->select($fields) ->from($table) ->where($conditions) ->execute();
Distinct
设置DISTINCT子句。
$distinct是一个布尔值,表示是否将查询设置为DISTINCT,默认为true。
$query->distinct($distinct);
结束语
设置结束语。
$epilog是表示查询结束语的字符串。
$query->epilog($epilog);
Except
添加EXCEPT查询。
$union是一个Closure、SelectQuery、QueryLiteral或表示查询的字符串。$overwrite是一个布尔值,表示是否覆盖现有的联合查询,默认为false。
$query->except($union, $overwrite);
From
设置 FROM 表。
$table是表示表(s)的数组或字符串。$overwrite是一个布尔值,指示是否覆盖现有表,默认为 false。
$query->from($table, $overwrite);
非数字数组键将用作表别名。
如果提供了一个SelectQuery或QueryLiteral作为数组值,它们将被转换为字符串并且不会转义。
也可以将 Closure 作为数组值提供,其中第一个参数将是 Connection。
获取Distinct
获取DISTINCT子句。
$distinct = $query->getDistinct();
获取结束语
获取结束语。
$epilog = $query->getEpilog();
获取Group By
获取GROUP BY字段。
$groupBy = $query->getGroupBy();
获取 From
获取 FROM 表。
$table = $query->getFrom();
获取Having
获取HAVING条件。
$having = $query->getHaving();
获取 Join
获取 JOIN 表。
$joins = $query->getJoin();
获取 Limit
获取 LIMIT 子句。
$limit = $query->getLimit();
获取Offset
获取OFFSET子句。
$offset = $query->getOffset();
获取 Order By
获取 ORDER BY 字段。
$orderBy = $query->getOrderBy();
获取Select
获取SELECT字段。
$fields = $query->getSelect();
获取Union
获取UNION查询。
$unions = $query->getUnion();
获取 Where
获取 WHERE 条件。
$conditions = $query->getWhere();
获取With
获取WITH查询。
$with = $query->getWith();
Group By
设置GROUP BY字段。
$fields是一个数组或字符串,表示要按字段分组。$overwrite是一个布尔值,表示是否覆盖现有字段,默认为false。
$query->groupBy($fields, $overwrite);
Having
设置HAVING条件。
$conditions是一个数组或字符串,表示HAVING条件。$overwrite是一个布尔值,表示是否覆盖现有的条件,默认为false。
$query->having($conditions, $overwrite);
数组条件可以包含
- 数字键的文本值。
- 键/值对,其中键是字段(和比较运算符),而值将被自动转义。
- 包含一组条件的数组值。除非数组键是"OR"或"NOT",否则它们将使用AND运算符连接。
如果提供了一个SelectQuery或QueryLiteral作为数组值,它们将被转换为字符串并且不会转义。
也可以提供一个闭包作为数组值,其中第一个参数是Connection,第二个参数是ValueBinder。
Intersect
添加INTERSECT查询。
$union是一个Closure、SelectQuery、QueryLiteral或表示查询的字符串。$overwrite是一个布尔值,表示是否覆盖现有的联合查询,默认为false。
$query->intersect($union, $overwrite);
Join
设置 JOIN 表。
$joins是连接的二维数组。$overwrite是一个布尔值,指示是否覆盖现有连接,默认为 false。
$query->join($joins, $overwrite);
每个连接数组可以包含一个 table、alias、type 和一个表示 conditions 的数组。如果未指定 type,则默认为 INNER。
Limit
设置LIMIT和OFFSET子句。
$limit是表示查询限制的数字。$offset是一个表示查询偏移量的数字。
$query->limit($limit, $offset);
Offset
设置OFFSET子句。
$offset是一个表示查询偏移量的数字。
$query->offset($offset);
Order By
设置 ORDER BY 字段。
$fields是表示要排序的字段的数组或字符串。$overwrite是一个布尔值,表示是否覆盖现有字段,默认为false。
$query->orderBy($fields, $overwrite);
选择
设置SELECT字段。
$fields是表示要选择的字段数组或字符串,默认为"*"。$overwrite是一个布尔值,表示是否覆盖现有字段,默认为false。
$query->select($fields, $overwrite);
非数字数组键将用作字段别名。
如果提供了一个SelectQuery或QueryLiteral作为数组值,它们将被转换为字符串并且不会转义。
也可以提供一个闭包作为数组值,其中第一个参数是Connection,第二个参数是ValueBinder。
Union
添加UNION DISTINCT查询。
$union是一个Closure、SelectQuery、QueryLiteral或表示查询的字符串。$overwrite是一个布尔值,表示是否覆盖现有的联合查询,默认为false。
$query->union($union, $overwrite);
Union All
添加UNION ALL查询。
$union是一个Closure、SelectQuery、QueryLiteral或表示查询的字符串。$overwrite是一个布尔值,表示是否覆盖现有的联合查询,默认为false。
$query->unionAll($union, $overwrite);
WHERE
设置WHERE条件。
$conditions是一个数组或字符串,表示WHERE条件。$overwrite是一个布尔值,表示是否覆盖现有的条件,默认为false。
$query->where($conditions, $overwrite);
数组条件可以包含
- 数字键的文本值。
- 键/值对,其中键是字段(和比较运算符),而值将被转义。
- 包含一组条件的数组值。除非数组键是"OR"或"NOT",否则它们将使用AND运算符连接。
如果提供了一个SelectQuery或QueryLiteral作为数组值,它们将被转换为字符串并且不会转义。
也可以提供一个闭包作为数组值,其中第一个参数是Connection,第二个参数是ValueBinder。
With
设置WITH子句。
$with是一个常见表表达式数组。$overwrite是一个布尔值,表示是否覆盖现有的表达式,默认为false。
$query->with($with, $overwrite);
数组键将用作表别名。
如果提供了一个SelectQuery或QueryLiteral作为数组值,它们将被转换为字符串并且不会转义。
也可以将 Closure 作为数组值提供,其中第一个参数将是 Connection。
With Recursive
设置WITH RECURSIVE子句。
$with是一个常见表表达式数组。$overwrite是一个布尔值,表示是否覆盖现有的表达式,默认为false。
$query->withRecursive($with, $overwrite);
数组键将用作表别名。
如果提供了一个SelectQuery或QueryLiteral作为数组值,它们将被转换为字符串并且不会转义。
也可以将 Closure 作为数组值提供,其中第一个参数将是 Connection。
更新
\Fyre\DB\Queries\UpdateQuery 类扩展了 Query 类,同时提供了执行 UPDATE 查询的额外方法。
$connection ->update($table) ->set($data) ->where($conditions) ->execute();
仅支持在 MysqlConnection 用于查询的多表。
结束语
设置结束语。
$epilog是表示查询结束语的字符串。
$query->epilog($epilog);
From
设置 FROM 表。
$table是一个数组或字符串,代表要从中查询的表。$overwrite是一个布尔值,表示是否覆盖现有的 FROM 表,默认为 false。
$query->from($table, $overwrite);
此方法仅支持使用 PostgresConnection 或 SqliteConnection 的查询。
获取数据
获取 UPDATE 数据。
$data = $query->getData();
获取结束语
获取结束语。
$epilog = $query->getEpilog();
获取 From
获取 FROM 表。
$table = $query->getFrom();
获取 Join
获取 JOIN 表。
$joins = $query->getJoin();
获取 Where
获取 WHERE 条件。
$conditions = $query->getWhere();
Join
设置 JOIN 表。
$joins是连接的二维数组。$overwrite是一个布尔值,指示是否覆盖现有连接,默认为 false。
$query->join($joins, $overwrite);
每个连接数组可以包含一个 table、alias、type 和一个表示 conditions 的数组。如果未指定 type,则默认为 INNER。
此方法仅支持使用 MysqlConnection 的查询。
设置
$data是一个要更新的值的数组。$overwrite是一个布尔值,表示是否覆盖现有数据,默认为false。
$query->set($data, $overwrite);
数组键将用于列名,而值将自动转义。
如果提供了一个SelectQuery或QueryLiteral作为数组值,它们将被转换为字符串并且不会转义。
也可以提供一个闭包作为数组值,其中第一个参数是Connection,第二个参数是ValueBinder。
WHERE
设置WHERE条件。
$conditions是一个数组或字符串,表示WHERE条件。$overwrite是一个布尔值,表示是否覆盖现有的条件,默认为false。
$query->where($conditions, $overwrite);
数组条件可以包含
- 数字键的文本值。
- 键/值对,其中键是字段(和比较运算符),而值将被转义。
- 包含一组条件的数组值。除非数组键是"OR"或"NOT",否则它们将使用AND运算符连接。
如果提供了一个SelectQuery或QueryLiteral作为数组值,它们将被转换为字符串并且不会转义。
也可以提供一个闭包作为数组值,其中第一个参数是Connection,第二个参数是ValueBinder。
批量更新
\Fyre\DB\Queries\UpdateBatchQuery 类扩展了 Query 类,同时提供了执行批量 UPDATE 查询的额外方法。
$connection ->updateBatch($table) ->set($data, $keys) ->execute();
结束语
设置结束语。
$epilog是表示查询结束语的字符串。
$query->epilog($epilog);
获取数据
获取 UPDATE 数据。
$data = $query->getData();
获取结束语
获取结束语。
$epilog = $query->getEpilog();
设置
$data是一个二维数组,包含要更新的值。$keys是一个包含用于更新的键的字符串或数组。$overwrite是一个布尔值,表示是否覆盖现有数据,默认为false。
$query->set($data, $keys, $overwrite);
数组键将用于列名,而值将自动转义。
如果提供了一个SelectQuery或QueryLiteral作为数组值,它们将被转换为字符串并且不会转义。
也可以提供一个闭包作为数组值,其中第一个参数是Connection,第二个参数是ValueBinder。
结果
SELECT 查询将返回一个包含查询结果的新 ResultSet。
ResultSet 是一个 Iterator 的实现,可以在 foreach 循环中使用。
foreach ($result AS $row) { }
所有
以数组形式获取结果。
$array = $result->all();
清除缓冲区
从缓冲区中清除结果。
$result->clearBuffer();
列数
获取列数。
$columnCount = $result->columnCount();
列
获取结果列。
$columns = $result->columns();
计数
获取结果计数。
$count = $result->count();
获取
按索引获取结果。
$index是一个表示行索引的数字。
$row = $result->fetch($index);
第一个
获取第一个结果。
$first = $result->first();
释放
从内存中释放结果。
$result->free();
获取类型
获取列的 类型 解析器。
$name是一个表示列名的字符串。
$parser = $result->getType($name);
最后一个
获取最后一个结果。
$last = $result->last();