Manual:Database.php
Appearance
| MediaWiki文件: Database.php | |
|---|---|
| 位置: | includes/libs/rdbms/database/ (includes/Libs/rdbms/database/ in 1.46 or later) |
| 源代码: | master • 1.44.2 • 1.43.5 • 1.39.15 |
| 类: | Wikimedia\Rdbms\Database |
描述
Database.php包含Database类(以前称为DatabaseBase),该类用作所有数据库类(MySQL的基础, PostgreSQL等)。
通常開發人員不會直接呼叫此類別,而是透過 資料庫抽象層 來進行操作。
實作
函数
下列表格僅列出部份已實作的功能:
| 名称 | 描述 |
|---|---|
affectedRows ()
|
获取上一次写查询影响的行数。 |
dataSeek ($res, $row)
|
更改光标在结果对象中的位置。 |
fieldInfo ($table, $field)
|
如果该字段不存在,则返回false。
|
fieldName ($res, $n)
|
获取结果对象中的字段名称。 |
getServerInfo ()
|
一个字符串描述当前软件版本,并可能以方用户友好的方式描述其他详细信息。 |
getServerVersion ()
|
描述当前软件版本的字符串,例如mysql_get_server_info()中的字符串。
|
getSoftwareLink ()
|
返回指向数据库网站的维基文字链接,例如,返回“MySQL”; 如果您的数据库没有网站,则至少应包含纯文本。 |
getType ()
|
获取DBMS的类型,如$wgDBtype中所示。
|
indexInfo ($table, $index, $fname=__METHOD__)
|
获取有关对象索引的信息。 |
insertId ()
|
获取自动增量行的插入值。 |
lastErrno ()
|
获取最后的错误号。 |
lastError ()
|
获取最后一个错误的描述。 |
numFields ($res)
|
获取结果对象中的字段数。 |
open ($server, $user, $password, $dbName)
|
打开与数据库的连接。 |
strencode ($s)
|
包装addslashes()。
|
tableExists ($table)
|
如果$table不存在,则返回false。
|
fieldExists( ... )
|
Other boolean methods for running checks. |
Methods for building SQL queries | |
newSelectQueryBuilder()
|
Get a new instance of SelectQueryBuilder bound to the present connection. Overridden by DBConnRef. |
select( $table, $vars, $conds = '', $fname = __METHOD__, $options = [], $join_conds = [] )
|
Prepare a SELECT statement. |
selectField( $table, $var, $cond = '', $fname = __METHOD__, $options = [], $join_conds = [] )
|
|
selectFieldValues( $table, $var, $cond = '', $fname = __METHOD__, $options = [], $join_conds = [] )
|
|
selectRow( $options = [], $join_conds = [] $table, $vars, $conds, $fname = __METHOD__, )
|
|
estimateRowCount( ... )
|
|
lockForUpdate( ... )
|
Locks rows returned by SELECT query
|
|
时间戳函数 | |
timestamp ( $ts = 0 )
|
将wfTimestamp()接受的格式之一的时间戳转换为用于插入此DBMS中的timestamp字段的格式。 结果未加引号,需要先通过addQuotes()传递,然后才能将其包含在原始SQL中。
|
timestampOrNull ( $ts = null )
|
将wfTimestamp()接受的格式之一的时间戳转换为用于插入此DBMS中的timestamp字段的格式。 若輸入 NULL,則直接傳遞該值,允許將 NULL 值插入時間戳記的欄位。 结果未加引号,需要先通过addQuotes()传递,然后才能将其包含在原始SQL中。
|
Extended by
- For MySQL:
- DatabaseMySQL (MW 1.41+) - merger of DatabaseMysqlBase and DatabaseMysqli
- DatabaseMysqlBase (MW 1.39-1.40)
- DatabaseMysqli (MW 1.39-1.40)
- DatabaseSqlite
- DatabasePostgres