diff options
author | Andreas Fischer <bantu@phpbb.com> | 2012-01-02 18:53:55 +0100 |
---|---|---|
committer | Andreas Fischer <bantu@phpbb.com> | 2012-01-02 18:53:55 +0100 |
commit | 2345be38b682a58f9b5e5429c76db97a0564093d (patch) | |
tree | fe39c5f348f86c23f3c9af9011d6d0c1b0c0baf5 /phpBB/includes/db/mysqli.php | |
parent | c8da5ad9f42d8ced1aead79a42cc5caee5c5a2ff (diff) | |
parent | e14c3f3b77ab07ce97f357a15db5db5101df06c1 (diff) | |
download | forums-2345be38b682a58f9b5e5429c76db97a0564093d.tar forums-2345be38b682a58f9b5e5429c76db97a0564093d.tar.gz forums-2345be38b682a58f9b5e5429c76db97a0564093d.tar.bz2 forums-2345be38b682a58f9b5e5429c76db97a0564093d.tar.xz forums-2345be38b682a58f9b5e5429c76db97a0564093d.zip |
Merge branch 'prep-release-3.0.10'
* prep-release-3.0.10: (221 commits)
[prep-release-3.0.10] Bumping version number for 3.0.10 final.
[prep-release-3.0.10] Update Changelog for 3.0.10-RC3 release.
[ticket/10531] Disallow deleting of the last style
[ticket/8996] Revert initial fix to keep old behaviour on empty selection Part2
[ticket/8996] Revert initial fix to keep old behaviour on empty selection
[ticket/10319] Missing hidden fields in search form
[ticket/10504] Revert the changes for widescreen optimisation PHPBB3-6632
[ticket/10504] Revert the changes for widescreen optimisation PHPBB3-10408
[ticket/10504] Revert the changes for widescreen optimisation PHPBB3-10485
[prep-release-3.0.10] Bumping version number for 3.0.10-RC3.
[ticket/10480] Add a build target for changelog building.
[ticket/10480] Add a build script for exporting the changelog from tracker.
[ticket/10502] Fix typo in changelog. 'red' should have been 'read'.
[prep-release-3.0.10] Remove duplicate ticket PHPBB3-10490 from changelog.
[ticket/10501] Fix description of table prefixes
[ticket/10503] Debug error "Invalid arguments" when previewing edits
[prep-release-3.0.10] Update Changelog for 3.0.10-RC2 release.
[ticket/10497] Fix SQL error when guest visits forum with unread topic
[prep-release-3.0.10] Bumping version number for 3.0.10-RC2.
[ticket/10461] Add a comment explaining the logic here.
...
Diffstat (limited to 'phpBB/includes/db/mysqli.php')
-rw-r--r-- | phpBB/includes/db/mysqli.php | 35 |
1 files changed, 30 insertions, 5 deletions
diff --git a/phpBB/includes/db/mysqli.php b/phpBB/includes/db/mysqli.php index 862d62f4ba..456ce906d0 100644 --- a/phpBB/includes/db/mysqli.php +++ b/phpBB/includes/db/mysqli.php @@ -33,14 +33,33 @@ class dbal_mysqli extends dbal */ function sql_connect($sqlserver, $sqluser, $sqlpassword, $database, $port = false, $persistency = false , $new_link = false) { - $this->persistency = $persistency; + // Mysqli extension supports persistent connection since PHP 5.3.0 + $this->persistency = (version_compare(PHP_VERSION, '5.3.0', '>=')) ? $persistency : false; $this->user = $sqluser; - $this->server = $sqlserver; + + // If persistent connection, set dbhost to localhost when empty and prepend it with 'p:' prefix + $this->server = ($this->persistency) ? 'p:' . (($sqlserver) ? $sqlserver : 'localhost') : $sqlserver; + $this->dbname = $database; $port = (!$port) ? NULL : $port; - // Persistant connections not supported by the mysqli extension? - $this->db_connect_id = @mysqli_connect($this->server, $this->user, $sqlpassword, $this->dbname, $port); + // If port is set and it is not numeric, most likely mysqli socket is set. + // Try to map it to the $socket parameter. + $socket = NULL; + if ($port) + { + if (is_numeric($port)) + { + $port = (int) $port; + } + else + { + $socket = $port; + $port = NULL; + } + } + + $this->db_connect_id = @mysqli_connect($this->server, $this->user, $sqlpassword, $this->dbname, $port, $socket); if ($this->db_connect_id && $this->dbname != '') { @@ -230,7 +249,13 @@ class dbal_mysqli extends dbal return $cache->sql_fetchrow($query_id); } - return ($query_id !== false) ? @mysqli_fetch_assoc($query_id) : false; + if ($query_id !== false) + { + $result = @mysqli_fetch_assoc($query_id); + return $result !== null ? $result : false; + } + + return false; } /** |