summaryrefslogtreecommitdiff
path: root/includes/db/DatabaseMysqli.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/db/DatabaseMysqli.php')
-rw-r--r--includes/db/DatabaseMysqli.php43
1 files changed, 31 insertions, 12 deletions
diff --git a/includes/db/DatabaseMysqli.php b/includes/db/DatabaseMysqli.php
index ad12e196..8ca23627 100644
--- a/includes/db/DatabaseMysqli.php
+++ b/includes/db/DatabaseMysqli.php
@@ -29,15 +29,20 @@
* @see Database
*/
class DatabaseMysqli extends DatabaseMysqlBase {
+ /** @var mysqli */
+ protected $mConn;
+
/**
* @param string $sql
* @return resource
*/
protected function doQuery( $sql ) {
+ $conn = $this->getBindingHandle();
+
if ( $this->bufferResults() ) {
- $ret = $this->mConn->query( $sql );
+ $ret = $conn->query( $sql );
} else {
- $ret = $this->mConn->query( $sql, MYSQLI_USE_RESULT );
+ $ret = $conn->query( $sql, MYSQLI_USE_RESULT );
}
return $ret;
@@ -50,8 +55,8 @@ class DatabaseMysqli extends DatabaseMysqlBase {
*/
protected function mysqlConnect( $realServer ) {
global $wgDBmysql5;
- # Fail now
- # Otherwise we get a suppressed fatal error, which is very hard to track down
+
+ # Avoid suppressed fatal error, which is very hard to track down
if ( !function_exists( 'mysqli_init' ) ) {
throw new DBConnectionError( $this, "MySQLi functions missing,"
. " have you compiled PHP with the --with-mysqli option?\n" );
@@ -116,8 +121,10 @@ class DatabaseMysqli extends DatabaseMysqlBase {
* @return bool
*/
protected function mysqlSetCharset( $charset ) {
- if ( method_exists( $this->mConn, 'set_charset' ) ) {
- return $this->mConn->set_charset( $charset );
+ $conn = $this->getBindingHandle();
+
+ if ( method_exists( $conn, 'set_charset' ) ) {
+ return $conn->set_charset( $charset );
} else {
return $this->query( 'SET NAMES ' . $charset, __METHOD__ );
}
@@ -127,14 +134,18 @@ class DatabaseMysqli extends DatabaseMysqlBase {
* @return bool
*/
protected function closeConnection() {
- return $this->mConn->close();
+ $conn = $this->getBindingHandle();
+
+ return $conn->close();
}
/**
* @return int
*/
function insertId() {
- return $this->mConn->insert_id;
+ $conn = $this->getBindingHandle();
+
+ return (int)$conn->insert_id;
}
/**
@@ -152,7 +163,9 @@ class DatabaseMysqli extends DatabaseMysqlBase {
* @return int
*/
function affectedRows() {
- return $this->mConn->affected_rows;
+ $conn = $this->getBindingHandle();
+
+ return $conn->affected_rows;
}
/**
@@ -160,9 +173,11 @@ class DatabaseMysqli extends DatabaseMysqlBase {
* @return bool
*/
function selectDB( $db ) {
+ $conn = $this->getBindingHandle();
+
$this->mDBname = $db;
- return $this->mConn->select_db( $db );
+ return $conn->select_db( $db );
}
/**
@@ -289,11 +304,15 @@ class DatabaseMysqli extends DatabaseMysqlBase {
* @return string
*/
protected function mysqlRealEscapeString( $s ) {
- return $this->mConn->real_escape_string( $s );
+ $conn = $this->getBindingHandle();
+
+ return $conn->real_escape_string( $s );
}
protected function mysqlPing() {
- return $this->mConn->ping();
+ $conn = $this->getBindingHandle();
+
+ return $conn->ping();
}
/**