DatabaseInterface
Joomla 框架数据库接口
自版本 |
1.0 |
---|---|
包 |
Joomla 框架 |
方法
connect
如果需要,连接到数据库。
connect() :
自版本 |
2.0.0 |
---|---|
抛出 |
|
响应
空
connected
确定与服务器的连接是否处于活动状态。
connected() :
自版本 |
2.0.0 |
---|
响应
布尔值
createDatabase
使用来自 $options 对象的信息创建一个新的数据库。
createDatabase(\stdClass options, utf = true) : bool|resource
自版本 |
2.0.0 |
---|---|
抛出 |
|
参数
- 选项
stdClass
用于将用户和数据库名称传递给数据库驱动程序的对象。此对象必须设置“db_name”和“db_user”。- utf
bool
如果数据库支持 UTF-8 字符集,则为 True。
响应
布尔值|资源
decodeBinary
将表示二进制字段的特殊占位符替换为原始字符串。
decodeBinary(string|resource data) :
自版本 |
1.7.0 |
---|
参数
- 数据
string|resource
编码的字符串或资源。
响应
string
原始字符串。
disconnect
断开数据库连接。
disconnect() :
自版本 |
2.0.0 |
---|
响应
空
dropTable
从数据库中删除一个表。
dropTable( table, ifExists = true) :
自版本 |
2.0.0 |
---|---|
抛出 |
|
参数
- 表
string
要删除的数据库表的名称。- ifExists
bool
可选地指定表必须存在才能删除。
响应
$this
escape
转义要在 SQL 语句中使用的字符串。
escape( text, extra = false) :
自版本 |
2.0.0 |
---|
参数
- 文本
string
要转义的字符串。- 额外
bool
可选参数,提供额外的转义。
响应
string
转义后的字符串。
execute
执行 SQL 语句。
execute() :
自版本 |
2.0.0 |
---|---|
抛出 |
|
响应
布尔值
getAffectedRows
获取先前执行的 SQL 语句影响的行数。
getAffectedRows() :
自版本 |
2.0.0 |
---|
响应
整数
getCollation
一种方法,通过对数据库中表的文本字段进行采样来获取数据库正在使用的排序规则。
getCollation() : string|bool
自版本 |
2.0.0 |
---|
响应
string|bool
数据库正在使用的排序规则,如果不受支持则为布尔值 false。
getConnection
提供对底层数据库连接的访问权限的方法。
getConnection() :
自版本 |
2.0.0 |
---|
响应
resource
底层数据库连接资源。
getConnectionCollation
获取驱动程序报告的数据库连接排序规则的方法。
getConnectionCollation() :
如果连接器不支持报告此值,请返回空字符串。
自版本 |
2.0.0 |
---|
响应
字符串
getConnectionEncryption
获取正在使用的数据库加密详细信息(密码和协议)的方法。
getConnectionEncryption() :
自版本 |
2.0.0 |
---|
响应
string
数据库加密详细信息。
getCount
获取数据库驱动程序执行的 SQL 语句总数。
getCount() :
自版本 |
2.0.0 |
---|
响应
整数
getDateFormat
返回符合数据库驱动程序的 PHP date() 函数日期格式。
getDateFormat() :
自版本 |
2.0.0 |
---|
响应
字符串
getMinimum
获取最低支持的数据库版本。
getMinimum() :
自版本 |
2.0.0 |
---|
响应
字符串
getName
获取数据库驱动程序的名称。
getName() :
自版本 |
2.0.0 |
---|
响应
字符串
getNullDate
获取数据库驱动程序的时间戳的空值或零值表示形式。
getNullDate() :
自版本 |
2.0.0 |
---|
响应
字符串
getNumRows
获取先前执行的 SQL 语句返回的行数。
getNumRows() :
自版本 |
2.0.0 |
---|
响应
整数
getPrefix
获取数据库驱动程序的通用表前缀。
getPrefix() :
自版本 |
3.0 |
---|
响应
string
通用数据库表前缀。
getQuery
获取当前查询对象或一个新的 QueryInterface 对象。
getQuery( new = false) : \Joomla\Database\QueryInterface
自版本 |
2.0.0 |
---|---|
抛出 |
|
参数
- 新
bool
返回当前查询对象为 False,返回新的 QueryInterface 对象为 True。
响应
getServerType
获取服务器系列类型。
getServerType() :
自版本 |
2.0.0 |
---|
响应
字符串
getTableColumns
检索给定表的字段信息。
getTableColumns( table, typeOnly = true) : mixed||string|int
自版本 |
2.0.0 |
---|---|
抛出 |
|
参数
- 表
string
数据库表的名称。- typeOnly
bool
True(默认)仅返回字段类型。
响应
array<string|int, mixed>
getTableKeys
检索给定表的字段信息。
getTableKeys( tables) : mixed||string|int
自版本 |
2.0.0 |
---|---|
抛出 |
|
参数
- 表
mixed
表名或表名列表。
响应
array<string|int, mixed>
getTableList
获取数据库中所有表数组的方法。
getTableList() : mixed||string|int
自版本 |
2.0.0 |
---|---|
抛出 |
|
响应
array<string|int, mixed>
getVersion
获取数据库连接器的版本。
getVersion() :
自版本 |
2.0.0 |
---|
响应
字符串
hasUtfSupport
确定数据库引擎是否支持 UTF-8 字符编码。
hasUtfSupport() :
自版本 |
2.0.0 |
---|
响应
bool
如果数据库引擎支持 UTF-8 字符编码,则为 True。
insertid
获取最后一个 INSERT 语句的自增值的方法。
insertid() :
自版本 |
2.0.0 |
---|
响应
mixed
最后插入行的自增字段的值。
insertObject
根据对象的属性将一行插入表中。
insertObject( table, &object, key = null) :
自版本 |
2.0.0 |
---|---|
抛出 |
|
参数
- 表
string
要插入的数据库表的名称。- 对象
object
对对象的引用,其公共属性与表字段匹配。- 键
string
主键的名称。如果提供,则更新对象属性。
响应
布尔值
isConnectionEncryptionSupported
测试数据库 TLS 连接加密是否受支持的方法。
isConnectionEncryptionSupported() :
自版本 |
2.0.0 |
---|
响应
bool
数据库是否支持 TLS 连接加密。
isMinimumVersion
检查安装的数据库版本是否受数据库驱动程序支持的方法
isMinimumVersion() :
自版本 |
2.0.0 |
---|
响应
bool
如果数据库版本受支持,则为 True
isSupported
测试连接器是否可用。
isSupported() :
自版本 |
1.0 |
---|
响应
布尔值
loadAssoc
获取数据库查询结果集中第一行的关联数组方法,其中 ['field_name' => 'row_value']。
loadAssoc() :
自版本 |
2.0.0 |
---|---|
抛出 |
|
响应
mixed
返回值,如果查询失败则为 null。
loadAssocList
获取数据库查询结果集行数组的方法,其中每一行都是一个关联数组 ['field_name' => 'row_value']。行数组可以选择由字段名称键控,但默认为顺序数字数组。
loadAssocList( key = null, column = null) :
注意:选择使用非唯一字段名称对结果数组进行键控会导致意外行为,应避免。
自版本 |
2.0.0 |
---|---|
抛出 |
|
参数
- 键
string
要对结果数组进行键控的字段的名称。- 列
string
可选的列名。而不是整行,只有此列值将在结果数组中。
响应
mixed
返回值,如果查询失败则为 null。
loadColumn
获取数据库查询结果集中每一行的 $offset 字段的值数组的方法。
loadColumn( offset) :
自版本 |
2.0.0 |
---|---|
抛出 |
|
参数
- 偏移量
int
用于构建结果数组的行偏移量。
响应
mixed
返回值,如果查询失败则为 null。
loadObject
获取数据库查询结果集中第一行作为对象的方法。
loadObject( class = stdClass::class) :
自版本 |
2.0.0 |
---|---|
抛出 |
|
参数
- 类
string
要用于返回的行对象的类名。
响应
mixed
返回值,如果查询失败则为 null。
loadObjectList
获取数据库查询结果集行数组的方法,其中每一行都是一个对象。对象数组可以选择由字段名称键控,但默认为顺序数字数组。
loadObjectList( key = '', class = stdClass::class) :
注意:选择使用非唯一字段名称对结果数组进行键控会导致意外行为,应避免。
自版本 |
2.0.0 |
---|---|
抛出 |
|
参数
- 键
string
要对结果数组进行键控的字段的名称。- 类
string
要用于返回的行对象的类名。
响应
mixed
返回值,如果查询失败则为 null。
loadResult
获取数据库查询结果集中第一行的第一个字段的方法。
loadResult() :
自版本 |
2.0.0 |
---|---|
抛出 |
|
响应
mixed
返回值,如果查询失败则为 null。
loadRow
获取数据库查询结果集中第一行作为数组的方法。
loadRow() :
列按数字索引,因此结果集中的第一列可以通过 $row[0] 等访问。
自版本 |
2.0.0 |
---|---|
抛出 |
|
响应
mixed
返回值,如果查询失败则为 null。
loadRowList
获取数据库查询结果集行数组的方法,其中每一行都是一个数组。对象数组可以选择由字段偏移量键控,但默认为顺序数字数组。
loadRowList( key = null) :
注意:选择使用非唯一字段名称对结果数组进行键控会导致意外行为,应避免。
自版本 |
2.0.0 |
---|---|
抛出 |
|
参数
- 键
string
要对结果数组进行键控的字段的名称。
响应
mixed
返回值,如果查询失败则为 null。
lockTable
锁定数据库中的表。
lockTable( tableName) :
自版本 |
2.0.0 |
---|---|
抛出 |
|
参数
- tableName
string
要解锁的表的名称。
响应
$this
quote
将字符串引用并可选地转义到数据库要求,以便在数据库查询中使用。
quote(array|string text, escape = true) :
自版本 |
2.0.0 |
---|
参数
- 文本
array<string|int, mixed>|string
要引用的字符串或字符串数组。- escape
bool
True(默认)转义字符串,False 不更改。
响应
字符串
quoteBinary
将二进制字符串引用到数据库要求,以便在数据库查询中使用。
quoteBinary( data) :
自版本 |
1.7.0 |
---|
参数
- 数据
string
要引用的二进制字符串。
响应
string
二进制引用的输入字符串。
quoteName
将 SQL 语句标识符名称(如列、表或数据库名称)括在引号中,以防止注入风险和保留字冲突。
quoteName(array|string name, array|string as = null) : array|string
自版本 |
2.0.0 |
---|
参数
- 名称
array<string|int, mixed>|string
要括在引号中的标识符名称,或要括在引号中的标识符名称数组。每种类型都支持点符号名称。- 作为
array<string|int, mixed>|string
与 $name 关联的 AS 查询部分。它可以是字符串或数组,在后者情况下,它必须与 $name 的长度相同;如果为 null,则字符串或数组元素将没有任何 AS 部分。
响应
array<string|int, mixed>|string
引号括起来的名称,与 $name 的类型相同。
renameTable
重命名数据库中的表。
renameTable( oldTable, newTable, backup = null, prefix = null) :
自版本 |
2.0.0 |
---|---|
抛出 |
|
参数
- 旧表
string
要重命名的表的名称- 新表
string
表的新的名称。- 备份
string
表前缀- 前缀
string
对于表 - 用于在非 mysql 数据库中重命名约束
响应
$this
replacePrefix
此函数将字符串标识符替换为已配置的表前缀。
replacePrefix( sql, prefix = '#__') :
自版本 |
2.0.0 |
---|
参数
- sql
string
要准备的 SQL 语句。- 前缀
string
表前缀。
响应
string
处理后的 SQL 语句。
select
选择要使用的数据库。
select( database) :
自版本 |
2.0.0 |
---|---|
抛出 |
|
参数
- database
string
要选择使用的数据库名称。
响应
布尔值
setQuery
设置 SQL 语句字符串以供后续执行。
setQuery( query, offset, limit) :
自版本 |
2.0.0 |
---|
参数
- query
mixed
要设置的 SQL 语句,可以是 Query 对象或字符串。- 偏移量
int
要设置的受影响行偏移量。{@deprecated 请改用 LimitableInterface::setLimit()}- limit
int
要设置的最大受影响行数。{@deprecated 请改用 LimitableInterface::setLimit()}
响应
$this
transactionCommit
提交事务的方法。
transactionCommit( toSavepoint = false) :
自版本 |
2.0.0 |
---|---|
抛出 |
|
参数
- toSavepoint
bool
如果为 true,则提交到最后一个保存点。
响应
空
transactionRollback
回滚事务的方法。
transactionRollback( toSavepoint = false) :
自版本 |
2.0.0 |
---|---|
抛出 |
|
参数
- toSavepoint
bool
如果为 true,则回滚到最后一个保存点。
响应
空
transactionStart
初始化事务的方法。
transactionStart( asSavepoint = false) :
自版本 |
2.0.0 |
---|---|
抛出 |
|
参数
- asSavepoint
bool
如果为 true 且事务已处于活动状态,则将创建一个保存点。
响应
空
truncateTable
截断表的方法。
truncateTable( table) :
自版本 |
2.0.0 |
---|---|
抛出 |
|
参数
- 表
string
要截断的表
响应
空
unlockTables
解锁数据库中的表。
unlockTables() :
自版本 |
2.0.0 |
---|---|
抛出 |
|
响应
$this
updateObject
根据对象的属性更新表中的一行。
updateObject( table, &object, array|string key, nulls = false) :
自版本 |
2.0.0 |
---|---|
抛出 |
|
参数
- 表
string
要更新的数据库表名称。- 对象
object
对对象的引用,其公共属性与表字段匹配。- 键
array<string|int, mixed>|string
主键的名称。- nulls
bool
如果为 true,则更新空字段;如果为 false,则忽略它们。
响应
布尔值