diff options
Diffstat (limited to 'includes/db/DatabaseMysqli.php')
-rw-r--r-- | includes/db/DatabaseMysqli.php | 43 |
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(); } /** |