Manual:Database.php
MediaWiki file: Database.php | |
---|---|
Location: | includes/libs/rdbms/database/ |
Source code: | master • 1.42.3 • 1.41.4 • 1.39.10 |
Classes: | Wikimedia\Rdbms\Database |
Description
editDatabase.php contains the Database
class (formerly DatabaseBase
) that serves as a base for all database classes (MySQL, PostgreSQL, etc).
Generally this class is not invoked directly by developers, but instead through the database abstraction layer.
Implements
editFunctions
editThe following table lists only a selection of the implemented functions:
Name | Description |
---|---|
affectedRows ()
|
Get the number of rows affected by the last write query. |
dataSeek ($res, $row)
|
Change the position of the cursor in a result object. |
fieldInfo ($table, $field)
|
Returns false if the field doesn't exist.
|
fieldName ($res, $n)
|
Get a field name in a result object. |
getServerInfo ()
|
A string describing the current software version, and possibly other details in a user-friendly way. |
getServerVersion ()
|
A string describing the current software version, like from mysql_get_server_info() .
|
getSoftwareLink ()
|
Returns a wikitext link to the DB's website, e.g., return "MySQL"; Should at least contain plain text, if for some reason your database has no website. |
getType ()
|
Get the type of the DBMS, as it appears in $wgDBtype .
|
indexInfo ($table, $index, $fname=__METHOD__)
|
Get information about an index into an object. |
insertId ()
|
Get the inserted value of an auto-increment row. |
lastErrno ()
|
Get the last error number. |
lastError ()
|
Get a description of the last error. |
numFields ($res)
|
Get the number of fields in a result object. |
open ($server, $user, $password, $dbName)
|
Open a connection to the database. |
strencode ($s)
|
Wrapper for addslashes() .
|
tableExists ($table)
|
Returns false if the $table doesn't exist.
|
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 functionsedit | |
timestamp ( $ts = 0 )
|
Convert a timestamp in one of the formats accepted by wfTimestamp() to the format used for inserting into timestamp fields in this DBMS. The result is unquoted, and needs to be passed through addQuotes() before it can be included in raw SQL.
|
timestampOrNull ( $ts = null )
|
Convert a timestamp in one of the formats accepted by wfTimestamp() to the format used for inserting into timestamp fields in this DBMS. If NULL is input, it is passed through, allowing NULL values to be inserted into timestamp fields. The result is unquoted, and needs to be passed through addQuotes() before it can be included in raw SQL.
|
Extended by
edit- 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