SqliteDriver
扩展自 PdoDriver支持基于 PDO 的连接的 SQLite 数据库驱动程序
链接 | |
---|---|
自 |
1.0 |
包 |
Joomla 框架 |
方法
__construct
构造函数。
__construct(mixed||string|int options) :
自 |
1.0 |
---|
参数
- 选项
array<string|int, mixed>
用于配置连接的选项列表
响应
混合
__destruct
析构函数。
__destruct() :
自 |
1.0 |
---|
响应
混合
__get
用于访问数据库驱动程序属性的魔术方法。
__get( name) :
自 |
1.4.0 |
---|---|
已弃用 |
3.0 由于 $this->name 以前是公共的,因此这是一个向后兼容代理 |
参数
- 名称
string
属性的名称。
响应
mixed
如果属性名称有效,则为一个值,否则为 null。
__sleep
PDO 不支持序列化
__sleep() : mixed||string|int
自 |
1.0 |
---|
响应
array<string|int, mixed>
__wakeup
序列化后唤醒
__wakeup() :
自 |
1.0 |
---|
响应
空
alterDbCharacterSet
更改数据库的字符集。
alterDbCharacterSet( dbName) : bool|resource
自 |
2.0.0 |
---|---|
抛出 |
|
参数
- dbName
string
将要更改的数据库名称
响应
布尔值|资源
connect
如果需要,连接到数据库。
connect() :
自 |
2.0.0 |
---|---|
抛出 |
|
响应
void
如果数据库连接成功,则返回 void。
connected
确定与服务器的连接是否处于活动状态。
connected() :
自 |
1.0 |
---|---|
抛出 |
|
响应
bool
如果已连接到数据库引擎,则为 True。
createDatabase
使用 $options 对象中的信息创建一个新的数据库。
createDatabase(\stdClass options, utf = true) : bool|resource
自 |
2.0.0 |
---|---|
抛出 |
|
参数
- 选项
stdClass
用于将用户和数据库名称传递给数据库驱动程序的对象。此对象必须设置“db_name”和“db_user”。- utf
bool
如果数据库支持 UTF-8 字符集,则为 True。
响应
布尔值|资源
createQuery
创建一个新的 DatabaseQuery 对象。
createQuery() : \Joomla\Database\QueryInterface
decodeBinary
用原始字符串替换表示二进制字段的特殊占位符。
decodeBinary(string|resource data) :
自 |
1.7.0 |
---|
参数
- 数据
string|resource
编码的字符串或资源。
响应
string
原始字符串。
disconnect
断开数据库连接。
disconnect() :
自 |
2.0.0 |
---|
响应
空
dispatchEvent
分派事件。
dispatchEvent(\Joomla\Event\EventInterface event) :
dropTable
从数据库中删除一个表。
dropTable( table, ifExists = true) :
自 |
2.0.0 |
---|---|
抛出 |
|
参数
- 表
string
要删除的数据库表的名称。- ifExists
bool
可以选择指定表必须存在才能删除。
响应
$this
escape
用于转义在 SQLite 语句中使用的字符串的方法。
escape( text, extra = false) :
注意:最好使用带有绑定变量的查询对象而不是下面的方法。
自 |
1.0 |
---|
参数
- 文本
string
要转义的字符串。- 额外
bool
未使用的可选参数,用于提供额外的转义。
响应
string
转义后的字符串。
execute
执行 SQL 语句。
execute() :
自 |
1.0 |
---|---|
抛出 |
|
响应
布尔值
fetchArray
用于从结果集游标中获取一行作为数组的方法。
fetchArray() :
自 |
1.0 |
---|
响应
mixed
结果集中的下一行,或者如果没有更多行则为 false。
fetchAssoc
用于从结果集游标中获取一行作为关联数组的方法。
fetchAssoc() :
自 |
1.0 |
---|
响应
mixed
结果集中的下一行,或者如果没有更多行则为 false。
fetchObject
用于从结果集游标中获取一行作为对象的方法。
fetchObject() :
注意,应在使用 StatementInterface::setFetchMode()
调用此方法之前配置获取模式。
自 |
1.0 |
---|
响应
mixed
结果集中的下一行,或者如果没有更多行则为 false。
freeResult
用于释放结果集使用的内存的方法。
freeResult() :
自 |
1.0 |
---|
响应
空
getAffectedRows
获取先前执行的 SQL 语句受影响的行数。
getAffectedRows() :
自 |
2.0.0 |
---|
响应
int
先前操作中受影响的行数
getAlterDbCharacterSet
返回用于更改数据库字符集的查询字符串。
getAlterDbCharacterSet( dbName) :
自 |
1.6.0 |
---|
参数
- dbName
string
数据库名称
响应
string
更改数据库查询字符串的查询
getCollation
用于通过对数据库中表的文本字段进行采样来获取数据库中使用的排序规则的方法。
getCollation() : string|bool
自 |
1.0 |
---|
响应
string|bool
数据库中使用的排序规则,或者如果不受支持则为布尔值 false。
getConnectedQuery
获取一个要运行的查询,并验证数据库是否可操作。
getConnectedQuery() :
自 |
1.0 |
---|
响应
string
用于检查数据库运行状况的查询。
getConnection
提供对底层数据库连接的访问的方法。
getConnection() :
自 |
1.0 |
---|
响应
resource
底层数据库连接资源。
getConnectionCollation
用于通过对数据库中表的文本字段进行采样来获取数据库连接中使用的排序规则的方法。
getConnectionCollation() : string|bool
自 |
1.6.0 |
---|---|
抛出 |
|
响应
string|bool
数据库连接中使用的排序规则(字符串),或者如果不受支持则为布尔值 false。
getConnectionEncryption
用于获取正在使用的数据库加密详细信息(密码和协议)的方法。
getConnectionEncryption() :
自 |
2.0.0 |
---|---|
抛出 |
|
响应
string
数据库加密详细信息。
getConnectors
获取可用数据库连接器的列表。
getConnectors() : mixed||string|int
此列表将仅填充存在类的连接器,并且环境支持其使用。这使我们能够拥有大量连接器类,这些类能够自我识别它们是否能够在给定的系统上使用。
自 |
1.0 |
---|
响应
array<string|int, mixed>
可用数据库连接器的数组。
getCount
获取数据库驱动程序执行的 SQL 语句总数。
getCount() :
自 |
1.0 |
---|
响应
整数
getCreateDatabaseQuery
返回用于创建新数据库的查询字符串。
getCreateDatabaseQuery(\stdClass options, utf) :
自 |
2.0.0 |
---|
参数
- 选项
stdClass
用于将用户和数据库名称传递给数据库驱动程序的对象。此对象必须设置“db_name”和“db_user”。- utf
bool
如果数据库支持 UTF-8 字符集,则为 True。
响应
string
创建数据库的查询
getDatabase
获取此连接使用的数据库的名称。
getDatabase() :
自 |
1.0 |
---|
响应
字符串
getDateFormat
返回符合数据库驱动程序的 PHP date() 函数的日期格式。
getDateFormat() :
自 |
1.0 |
---|
响应
字符串
getDispatcher
获取事件分派器。
getDispatcher() : \Joomla\Event\DispatcherInterface
getExporter
获取导出器类对象。
getExporter() : \Joomla\Database\DatabaseExporter
getImporter
获取导入器类对象。
getImporter() : \Joomla\Database\DatabaseImporter
getInstance
用于根据给定选项返回 DatabaseDriver 实例的方法。
getInstance(mixed||string|int options = []) : \Joomla\Database\DatabaseDriver
有三个全局选项,其余选项特定于数据库驱动程序。
- 'driver' 选项定义用于连接的 DatabaseDriver 类——默认值为'mysqli'。
- 'database' 选项确定要用于连接的数据库。
- 'select' 选项确定连接器是否应自动选择选定的数据库。
实例对于给定的选项是唯一的,并且仅当将唯一的选项数组传递到方法时才会创建新对象。这确保我们不会最终拥有不必要的数据库连接资源。
自 |
1.0 |
---|---|
抛出 |
|
已弃用 |
3.0 使用 DatabaseFactory::getDriver() 代替 |
参数
- 选项
array<string|int, mixed>
要传递给数据库驱动程序的参数。
响应
getIterator
获取当前查询的新迭代器。
getIterator( column = null, class = stdClass::class) : \Joomla\Database\DatabaseIterator
getMinimum
获取最低支持的数据库版本。
getMinimum() :
自 |
1.0 |
---|
响应
字符串
getMonitor
获取查询监视器。
getMonitor() : \Joomla\Database\QueryMonitorInterface|null
getName
获取数据库驱动程序的名称。
getName() :
如果未设置 $this->name,它将尝试从类名中猜测驱动程序名称。
自 |
1.4.0 |
---|
响应
字符串
getNullDate
获取数据库驱动程序的时间戳的 null 或零表示形式。
getNullDate() :
自 |
1.0 |
---|
响应
字符串
getNumRows
获取先前执行的 SQL 语句返回的行数。
getNumRows() :
自 |
2.0.0 |
---|
响应
int
返回的行数。
getOption
检索 PDO 数据库连接属性 https://php.ac.cn/manual/en/pdo.getattribute.php
getOption( key) :
用法:$db->getOption(PDO::ATTR_CASE);
自 |
1.0 |
---|
参数
- 键
mixed
PDO::ATTR_* 常量之一
响应
混合
getPrefix
获取数据库驱动程序的公共表前缀。
getPrefix() :
自 |
1.0 |
---|
响应
string
公共数据库表前缀。
getQuery
获取当前查询对象或一个新的 DatabaseQuery 对象。
getQuery( new = false) : \Joomla\Database\DatabaseQuery
自 |
1.0 |
---|
参数
- 新建
bool
False 返回当前查询对象,True 返回一个新的 DatabaseQuery 对象。$new 参数在 2.2 版本中已弃用,将在 4.0 版本中移除,请使用 createQuery() 代替。
响应
getServerType
获取服务器系列类型。
getServerType() :
如果 $this->serverType 未设置,则会尝试从驱动程序名称猜测服务器系列类型。如果无法确定,则会返回驱动程序名称。
自 |
1.4.0 |
---|
响应
字符串
getTableColumns
检索给定表的字段信息。
getTableColumns( table, typeOnly = true) : mixed||string|int
自 |
1.0 |
---|---|
抛出 |
|
参数
- 表
string
数据库表的名称。- typeOnly
bool
True 仅返回字段类型。
响应
array<string|int, mixed>
数据库表的字段数组。
getTableCreate
显示创建给定表的表 CREATE 语句。
getTableCreate( tables) : mixed||string|int
注意:SQLite 似乎不支持。
自 |
1.0 |
---|---|
抛出 |
|
参数
- tables
mixed
表名或表名列表。
响应
array<string|int, mixed>
表的创建 SQL 列表。
getTableKeys
获取表的键详细信息列表。
getTableKeys( table) : mixed||string|int
自 |
1.0 |
---|---|
抛出 |
|
参数
- 表
string
表的名称。
响应
array<string|int, mixed>
表的列规范数组。
getTableList
获取数据库(模式)中所有表的数组的方法。
getTableList() : mixed||string|int
自 |
1.0 |
---|---|
抛出 |
|
响应
array<string|int, mixed>
数据库中所有表的数组。
getVersion
获取数据库连接器的版本。
getVersion() :
自 |
1.0 |
---|
响应
string
数据库连接器版本。
hasUtfSupport
确定数据库引擎是否支持 UTF-8 字符编码。
hasUtfSupport() :
自 |
1.0 |
---|
响应
bool
如果数据库引擎支持 UTF-8 字符编码,则为 True。
insertid
获取上次 INSERT 语句的自增值的方法。
insertid() :
自 |
1.0 |
---|
响应
string
上次插入行的自增字段的值。
insertObject
根据对象的属性将一行插入表中。
insertObject( table, &object, key = null) :
自 |
1.0 |
---|---|
抛出 |
|
参数
- 表
string
要插入的数据库表的名称。- 对象
object
对一个对象的引用,其公共属性与表字段匹配。- 键
string
主键的名称。如果提供,则更新对象属性。
响应
布尔值
isConnectionEncryptionSupported
测试数据库 TLS 连接加密是否支持的方法。
isConnectionEncryptionSupported() :
自 |
2.0.0 |
---|
响应
bool
数据库是否支持 TLS 连接加密。
isMinimumVersion
检查已安装的数据库版本是否受数据库驱动程序支持的方法
isMinimumVersion() :
自 |
1.0 |
---|
响应
bool
如果数据库版本受支持,则为 True
isSupported
测试 PDO ODBC 连接器是否可用。
isSupported() :
自 |
1.0 |
---|
响应
bool
成功时为 True,否则为 False。
loadAssoc
获取数据库查询结果集的第一行作为关联数组 ['field_name' => 'row_value'] 的方法。
loadAssoc() :
自 |
1.0 |
---|---|
抛出 |
|
响应
mixed
返回值,如果查询失败则为 null。
loadAssocList
获取数据库查询结果集行数组的方法,其中每一行都是一个关联数组 ['field_name' => 'row_value']。行数组可以选择通过字段名称进行键控,但默认为顺序数字数组。
loadAssocList( key = null, column = null) :
注意:选择通过非唯一字段名称对结果数组进行键控可能会导致意外行为,应避免。
自 |
1.0 |
---|---|
抛出 |
|
参数
- 键
string
要对结果数组进行键控的字段名称。- 列
string
可选的列名。结果数组中只包含此列值,而不是整行。
响应
mixed
返回值,如果查询失败则为 null。
loadColumn
获取数据库查询结果集中每一行的 $offset 字段的值数组的方法。
loadColumn( offset) :
自 |
1.0 |
---|---|
抛出 |
|
参数
- offset
int
用于构建结果数组的行偏移量。
响应
mixed
返回值,如果查询失败则为 null。
loadObject
获取数据库查询结果集的第一行作为对象的方法。
loadObject( class = stdClass::class) :
自 |
1.0 |
---|---|
抛出 |
|
参数
- 类
string
要用于返回的行对象的类名。
响应
mixed
返回值,如果查询失败则为 null。
loadObjectList
获取数据库查询结果集行数组的方法,其中每一行都是一个对象。对象数组可以选择通过字段名称进行键控,但默认为顺序数字数组。
loadObjectList( key = '', class = stdClass::class) :
注意:选择通过非唯一字段名称对结果数组进行键控可能会导致意外行为,应避免。
自 |
1.0 |
---|---|
抛出 |
|
参数
- 键
string
要对结果数组进行键控的字段名称。- 类
string
要用于返回的行对象的类名。
响应
mixed
返回值,如果查询失败则为 null。
loadResult
获取数据库查询结果集第一行的第一个字段的方法。
loadResult() :
自 |
1.0 |
---|---|
抛出 |
|
响应
mixed
返回值,如果查询失败则为 null。
loadRow
获取数据库查询结果集的第一行作为数组的方法。
loadRow() :
列按数字索引,因此结果集中的第一列可以通过 $row[0] 等访问。
自 |
1.0 |
---|---|
抛出 |
|
响应
mixed
返回值,如果查询失败则为 null。
loadRowList
获取数据库查询结果集行数组的方法,其中每一行都是一个数组。对象数组可以选择通过字段偏移量进行键控,但默认为顺序数字数组。
loadRowList( key = null) : mixed||string|int
注意:选择通过非唯一字段对结果数组进行键控可能会导致意外行为,应避免。
自 |
1.0 |
---|---|
抛出 |
|
参数
- 键
string
要对结果数组进行键控的字段名称。
响应
array<string|int, mixed>
结果数组。
lockTable
锁定数据库中的表。
lockTable( table) :
自 |
1.0 |
---|---|
抛出 |
|
参数
- 表
string
要解锁的表的名称。
响应
$this
prepareStatement
准备执行 SQL 语句
prepareStatement( query) : \Joomla\Database\StatementInterface
q
quote 方法的别名
q(array|string text, escape = true) :
自 |
1.0 |
---|
参数
- 文本
array<string|int, mixed>|string
要引用的字符串或字符串数组。- escape
bool
True(默认)转义字符串,False 保持不变。
响应
string
引用的输入字符串。
qn
quoteName 方法的别名
qn(array|string name, array|string as = null) : array|string
自 |
1.0 |
---|
参数
- 名称
array<string|int, mixed>|string
要包含在引号中的标识符名称,或要包含在引号中的标识符名称数组。每种类型都支持点符号名称。- as
array<string|int, mixed>|string
与 $name 关联的 AS 查询部分。它可以是字符串或数组,在后者情况下它必须与 $name 的长度相同;如果为 null,则字符串或数组元素将没有任何 AS 部分。
响应
array<string|int, mixed>|string
引用的名称,与 $name 的类型相同。
quote
引用并可选地转义字符串以满足数据库查询的数据库要求。
quote(array|string text, escape = true) : array|string
自 |
1.0 |
---|
参数
- 文本
array<string|int, mixed>|string
要引用的字符串或字符串数组。- escape
bool
True(默认)转义字符串,False 保持不变。
响应
array<string|int, mixed>|string
引用的输入字符串。
quoteBinary
引用二进制字符串以满足数据库查询的数据库要求。
quoteBinary( data) :
自 |
1.7.0 |
---|
参数
- 数据
string
要引用的二进制字符串。
响应
string
引用的二进制输入字符串。
quoteName
将 SQL 语句标识符名称(例如列、表或数据库名称)包含在引号中,以防止注入风险和保留字冲突。
quoteName(array|string name, array|string as = null) : array|string
自 |
1.0 |
---|
参数
- 名称
array<string|int, mixed>|string
要包含在引号中的标识符名称,或要包含在引号中的标识符名称数组。每种类型都支持点符号名称。- as
array<string|int, mixed>|string
与 $name 关联的 AS 查询部分。它可以是字符串或数组,在后者情况下它必须与 $name 的长度相同;如果为 null,则字符串或数组元素将没有任何 AS 部分。
响应
array<string|int, mixed>|string
引用的名称,与 $name 的类型相同。
quoteNameStr
引用来自 quoteName 调用的字符串。
quoteNameStr(mixed||string|int strArr) :
自 |
1.0 |
---|---|
已弃用 |
2.0 使用 quoteNameString 代替 |
参数
- strArr
array<string|int, mixed>
来自 quoteName 点符号分解的字符串数组。
响应
string
引用的部分的点符号连接字符串。
quoteNameString
引用来自 quoteName 调用的字符串。
quoteNameString( name, asSinglePart = false) :
自 |
1.7.0 |
---|
参数
- 名称
string
要引用的标识符名称。- asSinglePart
bool
将名称视为标识符的单个部分。
响应
string
引用的标识符字符串。
renameTable
重命名数据库中的表。
renameTable( oldTable, newTable, backup = null, prefix = null) :
自 |
1.0 |
---|---|
抛出 |
|
参数
- oldTable
string
要重命名的表的名称- newTable
string
表的新的名称。- backup
string
SQLite 不使用。- prefix
string
SQLite 不使用。
响应
$this
replacePrefix
此函数将字符串标识符替换为配置的表前缀。
replacePrefix( sql, prefix = '#__') :
自 |
1.0 |
---|
参数
- sql
string
要准备的 SQL 语句。- prefix
string
表前缀。
响应
string
处理后的 SQL 语句。
select
选择要使用的数据库。
select( database) :
自 |
1.0 |
---|---|
抛出 |
|
参数
- database
string
要选择使用的数据库的名称。
响应
bool
如果数据库已成功选择,则为 True。
setDispatcher
设置要使用的调度器。
setDispatcher(\Joomla\Event\DispatcherInterface dispatcher) :
setMonitor
设置查询监视器。
setMonitor(\Joomla\Database\QueryMonitorInterface|null monitor = null) :
setOption
在 PDO 数据库句柄上设置属性。
setOption( key, value) :
https://php.ac.cn/manual/en/pdo.setattribute.php
用法:$db->setOption(PDO::ATTR_CASE, PDO::CASE_UPPER);
自 |
1.0 |
---|
参数
- 键
int
PDO::ATTR_* 常量之一- value
mixed
与特定属性键相关的 PDO 常量之一。
响应
布尔值
setQuery
设置 SQL 语句字符串以供以后执行。
setQuery(string|\Joomla\Database\QueryInterface query, offset, limit) :
自 |
1.0 |
---|---|
抛出 |
|
参数
- query
string|QueryInterface
要设置的 SQL 语句,可以是 Query 对象或字符串。- offset
int
要设置的受影响的行偏移量。{@deprecated 请使用 LimitableInterface::setLimit() 代替}- limit
int
要设置的最大受影响行数。{@deprecated 请使用 LimitableInterface::setLimit() 代替}
响应
$this
setUtf
设置连接以使用 UTF-8 字符编码。
setUtf() :
对于 Oracle 驱动程序,自动返回 false,因为只有在创建连接时才能设置字符集。
自 |
1.0 |
---|
响应
bool
成功时为 True。
splitSql
将多个查询的字符串拆分为单个查询的数组。
splitSql( sql) : mixed||string|int
自 |
1.0 |
---|
参数
- sql
string
要拆分为单个查询的输入 SQL 字符串。
响应
array<string|int, mixed>
transactionCommit
提交事务的方法。
transactionCommit( toSavepoint = false) :
自 |
1.0 |
---|---|
抛出 |
|
参数
- toSavepoint
bool
如果为 true,则提交到最后一个保存点。
响应
空
transactionRollback
回滚事务的方法。
transactionRollback( toSavepoint = false) :
自 |
1.0 |
---|---|
抛出 |
|
参数
- toSavepoint
bool
如果为 true,则回滚到最后一个保存点。
响应
空
transactionStart
初始化事务的方法。
transactionStart( asSavepoint = false) :
自 |
1.0 |
---|---|
抛出 |
|
参数
- asSavepoint
bool
如果为 true 且事务已处于活动状态,则会创建一个保存点。
响应
空
truncateTable
截断表的方法。
truncateTable( table) :
自 |
1.2.1 |
---|---|
抛出 |
|
参数
- 表
string
要截断的表
响应
空
unlockTables
解锁数据库中的表。
unlockTables() :
自 |
1.0 |
---|---|
抛出 |
|
响应
$this
updateObject
根据对象的属性更新表中的一行。
updateObject( table, &object, array|string key, nulls = false) :
自 |
1.0 |
---|---|
抛出 |
|
参数
- 表
string
要更新的数据库表的名称。- 对象
object
对一个对象的引用,其公共属性与表字段匹配。- 键
array<string|int, mixed>|string
主键的名称。- nulls
bool
True 更新空字段,False 忽略空字段。
响应
bool
成功时为 True。
属性
database
数据库的名称。
自 |
1.0 |
---|
类型
字符串
名称
数据库驱动的名称。
自 |
1.0 |
---|
类型
字符串
serverType
此驱动程序支持的数据库服务器系列的类型。
自 |
1.4.0 |
---|
类型
字符串
connection
数据库连接资源。
自 |
1.0 |
---|
类型
PDO
connectors
保存可用数据库连接器的列表。
自 |
1.0 |
---|
类型
array<string|int, mixed>
count
数据库驱动程序执行的 SQL 语句数。
自 |
1.0 |
---|
类型
整数
cursor
上次查询的数据库连接游标。
自 |
1.0 |
---|
类型
resource
executed
包含当前查询执行状态
自 |
2.0.0 |
---|
类型
布尔值
limit
当前 SQL 语句的受影响行限制。
自 |
1.0 |
---|
类型
整数
nameQuote
用于引用 SQL 语句名称(例如表名或字段名等)的字符。
如果为单字符字符串,则引用的名称两侧都使用相同的字符,否则第一个字符将用作开始引号,第二个字符将用作结束引号。
自 |
1.0 |
---|
类型
字符串
nullDate
数据库驱动程序的时间戳的空值或零值表示。
自 |
1.0 |
---|
类型
字符串
offset
当前 SQL 语句要应用的行偏移量。
自 |
1.0 |
---|
类型
整数
选项
在实例化时传入并保存。
自 |
1.0 |
---|
类型
array<string|int, mixed>
sql
要执行的当前 SQL 语句。
自 |
1.0 |
---|
类型
混合
表前缀
公共数据库表前缀。
自 |
1.0 |
---|
类型
字符串
utf
如果数据库引擎支持 UTF-8 字符编码,则为 True。
自 |
1.0 |
---|
类型
布尔值
错误号
数据库错误号。
自 |
1.0 |
---|
类型
整数
错误消息
数据库错误消息。
自 |
1.0 |
---|
类型
字符串
dbMinimum
最低支持的数据库版本。
自 |
1.0 |
---|
类型
字符串
事务深度
当前事务的深度。
自 |
1.0 |
---|
类型
整数