PdoDriver
扩展 DatabaseDriverJoomla 框架 PDO 数据库驱动类
链接 | |
---|---|
自 |
1.0 |
包 |
Joomla 框架 |
方法
__construct
构造函数。
__construct(mixed||string|int options) :
自 |
1.0 |
---|
参数
- options
array<string|int, mixed>
用于配置连接的选项列表
响应
混合
__destruct
析构函数。
__destruct() :
自 |
1.0 |
---|
响应
混合
__get
用于访问数据库驱动程序属性的魔术方法。
__get( name) :
自 |
1.4.0 |
---|---|
已弃用 |
3.0 这是一个 B/C 代理,因为 $this->name 以前是公有的 |
参数
- name
string
属性的名称。
响应
mixed
如果属性名称有效,则为一个值,否则为 null。
__sleep
PDO 不支持序列化
__sleep() : mixed||string|int
自 |
1.0 |
---|
响应
array<string|int, mixed>
__wakeup
序列化后唤醒
__wakeup() :
自 |
1.0 |
---|
响应
void
alterDbCharacterSet
更改数据库的字符集。
alterDbCharacterSet( dbName) : bool|resource
自 |
2.0.0 |
---|---|
抛出 |
|
参数
- dbName
string
要更改的数据库名称
响应
bool|resource
connect
如果需要,连接到数据库。
connect() :
自 |
1.0 |
---|---|
抛出 |
|
响应
void
如果数据库连接成功,则返回 void。
connected
确定与服务器的连接是否处于活动状态。
connected() :
自 |
1.0 |
---|---|
抛出 |
|
响应
bool
如果已连接到数据库引擎,则为 True。
createDatabase
使用 $options 对象中的信息创建新数据库。
createDatabase(\stdClass options, utf = true) : bool|resource
自 |
2.0.0 |
---|---|
抛出 |
|
参数
- options
stdClass
用于将用户和数据库名称传递给数据库驱动程序的对象。该对象必须设置“db_name”和“db_user”。- utf
bool
如果数据库支持 UTF-8 字符集,则为 True。
响应
bool|resource
createQuery
创建一个新的 DatabaseQuery 对象。
createQuery() : \Joomla\Database\QueryInterface
decodeBinary
用原始字符串替换表示二进制字段的特殊占位符。
decodeBinary(string|resource data) :
自 |
1.7.0 |
---|
参数
- data
string|resource
编码的字符串或资源。
响应
string
原始字符串。
disconnect
断开数据库连接。
disconnect() :
自 |
2.0.0 |
---|
响应
void
dispatchEvent
分派一个事件。
dispatchEvent(\Joomla\Event\EventInterface event) :
dropTable
从数据库中删除一个表。
dropTable( table, ifExists = true) :
自 |
2.0.0 |
---|---|
抛出 |
|
参数
- table
string
要删除的数据库表的名称。- ifExists
bool
可选地指定该表必须存在才能被删除。
响应
$this
escape
用于在 SQL 语句中转义字符串的方法。
escape( text, extra = false) :
Oracle 转义参考:http://www.orafaq.com/wiki/SQL_FAQ#How_does_one_escape_special_characters_when_writing_SQL_queries.3F
SQLite 转义说明:http://www.sqlite.org/faq.html#q14
方法主体由 Zend Framework 实现
注意:使用具有绑定变量的查询对象比下面方法更可取。
自 |
1.0 |
---|
参数
- text
string
要转义的字符串。- extra
bool
未使用的可选参数,用于提供额外的转义。
响应
string
转义后的字符串。
execute
执行 SQL 语句。
execute() :
自 |
1.0 |
---|---|
抛出 |
|
响应
bool
fetchArray
用于将结果集游标中的行作为数组获取的方法。
fetchArray() :
自 |
1.0 |
---|
响应
mixed
结果集中的下一行,如果没有更多行,则为 false。
fetchAssoc
用于将结果集游标中的行作为关联数组获取的方法。
fetchAssoc() :
自 |
1.0 |
---|
响应
mixed
结果集中的下一行,如果没有更多行,则为 false。
fetchObject
用于将结果集游标中的行作为对象获取的方法。
fetchObject() :
注意,应在使用 StatementInterface::setFetchMode()
调用此方法之前配置获取模式。
自 |
1.0 |
---|
响应
mixed
结果集中的下一行,如果没有更多行,则为 false。
freeResult
用于释放结果集使用的内存的方法。
freeResult() :
自 |
1.0 |
---|
响应
void
getAffectedRows
获取先前执行的 SQL 语句影响的行数。
getAffectedRows() :
自 |
2.0.0 |
---|
响应
int
先前操作中影响的行数
getAlterDbCharacterSet
返回更改数据库字符集的查询字符串。
getAlterDbCharacterSet( dbName) :
自 |
1.6.0 |
---|
参数
- dbName
string
数据库名称
响应
string
更改数据库查询字符串的查询
getConnectedQuery
获取要运行的查询并验证数据库是否正常运行。
getConnectedQuery() :
自 |
1.0 |
---|
响应
string
用于检查 DB 健康状况的查询。
getConnection
提供对底层数据库连接的访问权限的方法。
getConnection() :
自 |
1.0 |
---|
响应
resource
底层数据库连接资源。
getConnectors
获取可用数据库连接器的列表。
getConnectors() : mixed||string|int
该列表将仅填充存在于该类的连接器,并且环境支持其使用。这使我们能够拥有大量连接器类,这些类能够自我识别它们是否能够在给定系统上使用。
自 |
1.0 |
---|
响应
array<string|int, mixed>
可用数据库连接器的数组。
getCount
获取数据库驱动程序执行的 SQL 语句的总数。
getCount() :
自 |
1.0 |
---|
响应
int
getCreateDatabaseQuery
返回用于创建新数据库的查询字符串。
getCreateDatabaseQuery(\stdClass options, utf) :
自 |
2.0.0 |
---|
参数
- options
stdClass
用于将用户和数据库名称传递给数据库驱动程序的对象。该对象必须设置“db_name”和“db_user”。- utf
bool
如果数据库支持 UTF-8 字符集,则为 True。
响应
string
创建数据库的查询
getDatabase
获取此连接使用的数据库的名称。
getDatabase() :
自 |
1.0 |
---|
响应
string
getDateFormat
返回符合数据库驱动程序的 PHP date() 函数的日期格式。
getDateFormat() :
自 |
1.0 |
---|
响应
string
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() 代替 |
参数
- options
array<string|int, mixed>
要传递给数据库驱动程序的参数。
响应
getIterator
获取当前查询上的新迭代器。
getIterator( column = null, class = stdClass::class) : \Joomla\Database\DatabaseIterator
getMinimum
获取最低支持的数据库版本。
getMinimum() :
自 |
1.0 |
---|
响应
string
getMonitor
获取查询监视器。
getMonitor() : \Joomla\Database\QueryMonitorInterface|null
getName
获取数据库驱动程序的名称。
getName() :
如果 $this->name 未设置,它将尝试从类名中猜测驱动程序名称。
自 |
1.4.0 |
---|
响应
string
getNullDate
获取数据库驱动程序的时间戳的 null 或零表示。
getNullDate() :
自 |
1.0 |
---|
响应
string
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 |
---|
参数
- key
mixed
PDO::ATTR_* 常量之一
响应
混合
getPrefix
获取数据库驱动程序的公共表前缀。
getPrefix() :
自 |
1.0 |
---|
响应
string
公共数据库表前缀。
getQuery
获取当前查询对象或新的 DatabaseQuery 对象。
getQuery( new = false) : \Joomla\Database\DatabaseQuery
自 |
1.0 |
---|
参数
- new
bool
False 返回当前查询对象,True 返回新的 DatabaseQuery 对象。$new 参数在 2.2 中已弃用,将在 4.0 中删除,使用 createQuery() 代替。
响应
getServerType
获取服务器系列类型。
getServerType() :
如果 $this->serverType 未设置,它将尝试从驱动程序名称中猜测服务器系列类型。如果这不可行,将返回驱动程序名称。
自 |
1.4.0 |
---|
响应
string
getTableCreate
显示用于创建给定表的表 CREATE 语句。
getTableCreate( tables) : mixed||string|int
自 |
1.0 |
---|---|
抛出 |
|
参数
- tables
mixed
表名或表名列表。
响应
array<string|int, mixed>
表的创建 SQL 列表。
getVersion
获取数据库连接器的版本。
getVersion() :
自 |
1.5.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 |
---|---|
抛出 |
|
参数
- table
string
要插入的数据库表的名称。- object
object
对对象的引用,其公共属性与表字段匹配。- key
string
主键的名称。如果提供,则更新对象属性。
响应
bool
isMinimumVersion
检查安装的数据库版本是否受数据库驱动程序支持的方法。
isMinimumVersion() :
自 |
1.0 |
---|
响应
bool
如果数据库版本受支持,则为 True。
isSupported
测试 PDO 扩展是否可用。
isSupported() :
根据需要重写以检查特定 PDO 驱动程序。
自 |
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 |
---|---|
抛出 |
|
参数
- key
string
要用于结果数组键的字段名称。- column
string
可选的列名。结果数组中将只包含此列值,而不是整行。
响应
mixed
返回值或查询失败时为 null。
loadColumn
获取数据库查询结果集中每一行中 $offset 字段值的数组的方法。
loadColumn( offset) :
自 |
1.0 |
---|---|
抛出 |
|
参数
- offset
int
用于构建结果数组的行偏移量。
响应
mixed
返回值或查询失败时为 null。
loadObject
获取数据库查询结果集的第一行作为对象的方法。
loadObject( class = stdClass::class) :
自 |
1.0 |
---|---|
抛出 |
|
参数
- class
string
要用于返回的行对象的类名。
响应
mixed
返回值或查询失败时为 null。
loadObjectList
获取数据库查询结果集行的数组的方法,其中每一行都是对象。对象数组可以选择用字段名称作为键,但默认情况下是按顺序的数字数组。
loadObjectList( key = '', class = stdClass::class) :
注意:选择用非唯一字段名称作为键的数组会导致意外行为,应避免这种情况。
自 |
1.0 |
---|---|
抛出 |
|
参数
- key
string
要用于结果数组键的字段名称。- class
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 |
---|---|
抛出 |
|
参数
- key
string
要用于结果数组键的字段名称。
响应
array<string|int, mixed>
结果数组。
prepareStatement
准备 SQL 语句以供执行
prepareStatement( query) : \Joomla\Database\StatementInterface
q
quote 方法的别名
q(array|string text, escape = true) :
自 |
1.0 |
---|
参数
- text
array<string|int, mixed>|string
要引用的字符串或字符串数组。- escape
bool
True(默认)表示转义字符串,False 表示不转义。
响应
string
引用的输入字符串。
qn
quoteName 方法的别名
qn(array|string name, array|string as = null) : array|string
自 |
1.0 |
---|
参数
- name
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 |
---|
参数
- text
array<string|int, mixed>|string
要引用的字符串或字符串数组。- escape
bool
True(默认)表示转义字符串,False 表示不转义。
响应
array<string|int, mixed>|string
引用的输入字符串。
quoteBinary
引用二进制字符串以满足数据库在数据库查询中使用的要求。
quoteBinary( data) :
自 |
1.7.0 |
---|
参数
- data
string
要引用的二进制字符串。
响应
string
引用的二进制输入字符串。
quoteName
将 SQL 语句标识符名称(如列名、表名或数据库名)包装在引号中,以防止注入风险和保留字冲突。
quoteName(array|string name, array|string as = null) : array|string
自 |
1.0 |
---|
参数
- name
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 |
---|
参数
- name
string
要引用的标识符名称。- asSinglePart
bool
将名称视为标识符的单个部分。
响应
string
引用的标识符字符串。
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 |
---|
参数
- key
int
PDO::ATTR_* 常量之一- value
mixed
与特定属性键相关的 PDO 常量之一。
响应
bool
setQuery
设置 SQL 语句字符串以供稍后执行。
setQuery(string|\Joomla\Database\QueryInterface query, offset, limit) :
自 |
1.0 |
---|---|
抛出 |
|
参数
- query
string|QueryInterface
要设置的 SQL 语句,可以是查询对象或字符串。- offset
int
要设置的受影响行偏移量。{@deprecated 使用 LimitableInterface::setLimit() 代替}- limit
int
要设置的最大受影响行数。{@deprecated 使用 LimitableInterface::setLimit() 代替}
响应
$this
setUtf
将连接设置为使用 UTF-8 字符编码。
setUtf() :
自 |
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,则提交到最后一个保存点。
响应
void
transactionRollback
回滚事务的方法。
transactionRollback( toSavepoint = false) :
自 |
1.0 |
---|---|
抛出 |
|
参数
- toSavepoint
bool
如果为 True,则回滚到最后一个保存点。
响应
void
transactionStart
初始化事务的方法。
transactionStart( asSavepoint = false) :
自 |
1.0 |
---|---|
抛出 |
|
参数
- asSavepoint
bool
如果为 True 且事务已激活,则将创建一个保存点。
响应
void
truncateTable
截断表的方法。
truncateTable( table) :
自 |
1.0 |
---|---|
抛出 |
|
参数
- table
string
要截断的表。
响应
void
updateObject
根据对象的属性更新表中的一行。
updateObject( table, &object, array|string key, nulls = false) :
自 |
1.0 |
---|---|
抛出 |
|
参数
- table
string
要更新的数据库表的名称。- object
object
对对象的引用,其公共属性与表字段匹配。- key
array<string|int, mixed>|string
主键的名称。- nulls
bool
如果为 True 则更新 null 字段,如果为 False 则忽略 null 字段。
响应
bool
成功时为 True。
Properties
database
数据库的名称。
自 |
1.0 |
---|
类型
string
name
数据库驱动的名称。
自 |
1.0 |
---|
类型
string
serverType
此驱动程序支持的数据库服务器家族类型。
自 |
1.4.0 |
---|
类型
string
connection
数据库连接资源。
自 |
1.0 |
---|
类型
PDO
connectors
保存可用数据库连接器列表。
自 |
1.0 |
---|
类型
array<string|int, mixed>
count
数据库驱动程序执行的 SQL 语句数量。
自 |
1.0 |
---|
类型
int
cursor
最后一次查询的数据库连接游标。
自 |
1.0 |
---|
类型
resource
executed
包含当前查询执行状态
自 |
2.0.0 |
---|
类型
bool
limit
当前 SQL 语句的受影响行限制。
自 |
1.0 |
---|
类型
int
nameQuote
用于引用 SQL 语句名称(如表名或字段名等)的字符。
如果为单字符字符串,则同一字符用于引用名称的两侧,否则第一个字符将用作开始引号,第二个字符将用作结束引号。
自 |
1.0 |
---|
类型
string
nullDate
数据库驱动程序的时间戳的 null 或零表示。
自 |
1.0 |
---|
类型
string
offset
要应用于当前 SQL 语句的受影响行偏移量。
自 |
1.0 |
---|
类型
int
options
在实例化时传入并保存。
自 |
1.0 |
---|
类型
array<string|int, mixed>
sql
当前要执行的 SQL 语句。
自 |
1.0 |
---|
类型
混合
tablePrefix
通用的数据库表前缀。
自 |
1.0 |
---|
类型
string
utf
如果数据库引擎支持 UTF-8 字符编码,则为 True。
自 |
1.0 |
---|
类型
bool
errorNum
数据库错误号。
自 |
1.0 |
---|
类型
int
errorMsg
数据库错误消息。
自 |
1.0 |
---|
类型
string
instances
DatabaseDriver 实例容器。
dbMinimum
支持的最低数据库版本。
自 |
1.0 |
---|
类型
string
transactionDepth
当前事务的深度。
自 |
1.0 |
---|
类型
int