DatabaseInterface

Joomla 框架数据库接口

自版本

1.0

Joomla 框架

方法

connect

如果需要,连接到数据库。

connect() : 
自版本

2.0.0

抛出

RuntimeException

响应

connected

确定与服务器的连接是否处于活动状态。

connected() : 
自版本

2.0.0

响应

布尔值

createDatabase

使用来自 $options 对象的信息创建一个新的数据库。

createDatabase(\stdClass options,  utf = true) : bool|resource
自版本

2.0.0

抛出

RuntimeException

参数

选项

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

抛出

RuntimeException

参数

string要删除的数据库表的名称。

ifExists

bool可选地指定表必须存在才能删除。

响应

$this

escape

转义要在 SQL 语句中使用的字符串。

escape( text,  extra = false) : 
自版本

2.0.0

参数

文本

string要转义的字符串。

额外

bool可选参数,提供额外的转义。

响应

string转义后的字符串。

execute

执行 SQL 语句。

execute() : 
自版本

2.0.0

抛出

RuntimeException

响应

布尔值

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

抛出

RuntimeException

参数

bool返回当前查询对象为 False,返回新的 QueryInterface 对象为 True。

响应

QueryInterface

getServerType

获取服务器系列类型。

getServerType() : 
自版本

2.0.0

响应

字符串

getTableColumns

检索给定表的字段信息。

getTableColumns( table,  typeOnly = true) : mixed||string|int
自版本

2.0.0

抛出

RuntimeException

参数

string数据库表的名称。

typeOnly

boolTrue(默认)仅返回字段类型。

响应

array<string|int, mixed>

getTableKeys

检索给定表的字段信息。

getTableKeys( tables) : mixed||string|int
自版本

2.0.0

抛出

RuntimeException

参数

mixed表名或表名列表。

响应

array<string|int, mixed>

getTableList

获取数据库中所有表数组的方法。

getTableList() : mixed||string|int
自版本

2.0.0

抛出

RuntimeException

响应

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

抛出

RuntimeException

参数

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

抛出

RuntimeException

响应

mixed返回值,如果查询失败则为 null。

loadAssocList

获取数据库查询结果集行数组的方法,其中每一行都是一个关联数组 ['field_name' => 'row_value']。行数组可以选择由字段名称键控,但默认为顺序数字数组。

loadAssocList( key = null,  column = null) : 

注意:选择使用非唯一字段名称对结果数组进行键控会导致意外行为,应避免。

自版本

2.0.0

抛出

RuntimeException

参数

string要对结果数组进行键控的字段的名称。

string可选的列名。而不是整行,只有此列值将在结果数组中。

响应

mixed返回值,如果查询失败则为 null。

loadColumn

获取数据库查询结果集中每一行的 $offset 字段的值数组的方法。

loadColumn( offset) : 
自版本

2.0.0

抛出

RuntimeException

参数

偏移量

int用于构建结果数组的行偏移量。

响应

mixed返回值,如果查询失败则为 null。

loadObject

获取数据库查询结果集中第一行作为对象的方法。

loadObject( class = stdClass::class) : 
自版本

2.0.0

抛出

RuntimeException

参数

string要用于返回的行对象的类名。

响应

mixed返回值,如果查询失败则为 null。

loadObjectList

获取数据库查询结果集行数组的方法,其中每一行都是一个对象。对象数组可以选择由字段名称键控,但默认为顺序数字数组。

loadObjectList( key = '',  class = stdClass::class) : 

注意:选择使用非唯一字段名称对结果数组进行键控会导致意外行为,应避免。

自版本

2.0.0

抛出

RuntimeException

参数

string要对结果数组进行键控的字段的名称。

string要用于返回的行对象的类名。

响应

mixed返回值,如果查询失败则为 null。

loadResult

获取数据库查询结果集中第一行的第一个字段的方法。

loadResult() : 
自版本

2.0.0

抛出

RuntimeException

响应

mixed返回值,如果查询失败则为 null。

loadRow

获取数据库查询结果集中第一行作为数组的方法。

loadRow() : 

列按数字索引,因此结果集中的第一列可以通过 $row[0] 等访问。

自版本

2.0.0

抛出

RuntimeException

响应

mixed返回值,如果查询失败则为 null。

loadRowList

获取数据库查询结果集行数组的方法,其中每一行都是一个数组。对象数组可以选择由字段偏移量键控,但默认为顺序数字数组。

loadRowList( key = null) : 

注意:选择使用非唯一字段名称对结果数组进行键控会导致意外行为,应避免。

自版本

2.0.0

抛出

RuntimeException

参数

string要对结果数组进行键控的字段的名称。

响应

mixed返回值,如果查询失败则为 null。

lockTable

锁定数据库中的表。

lockTable( tableName) : 
自版本

2.0.0

抛出

RuntimeException

参数

tableName

string要解锁的表的名称。

响应

$this

quote

将字符串引用并可选地转义到数据库要求,以便在数据库查询中使用。

quote(array|string text,  escape = true) : 
自版本

2.0.0

参数

文本

array<string|int, mixed>|string要引用的字符串或字符串数组。

escape

boolTrue(默认)转义字符串,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

抛出

RuntimeException

参数

旧表

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

抛出

RuntimeException

参数

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

抛出

RuntimeException

参数

toSavepoint

bool如果为 true,则提交到最后一个保存点。

响应

transactionRollback

回滚事务的方法。

transactionRollback( toSavepoint = false) : 
自版本

2.0.0

抛出

RuntimeException

参数

toSavepoint

bool如果为 true,则回滚到最后一个保存点。

响应

transactionStart

初始化事务的方法。

transactionStart( asSavepoint = false) : 
自版本

2.0.0

抛出

RuntimeException

参数

asSavepoint

bool如果为 true 且事务已处于活动状态,则将创建一个保存点。

响应

truncateTable

截断表的方法。

truncateTable( table) : 
自版本

2.0.0

抛出

RuntimeException

参数

string要截断的表

响应

unlockTables

解锁数据库中的表。

unlockTables() : 
自版本

2.0.0

抛出

RuntimeException

响应

$this

updateObject

根据对象的属性更新表中的一行。

updateObject( table,  &object, array|string key,  nulls = false) : 
自版本

2.0.0

抛出

RuntimeException

参数

string要更新的数据库表名称。

对象

object对对象的引用,其公共属性与表字段匹配。

array<string|int, mixed>|string主键的名称。

nulls

bool如果为 true,则更新空字段;如果为 false,则忽略它们。

响应

布尔值