mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 14:18:52 +00:00
[ticket/12756] Fix mysqli_fetch_assoc on hhvm
PHPBB3-12756
This commit is contained in:
parent
40d264654c
commit
89a7a55190
1 changed files with 26 additions and 13 deletions
|
@ -71,10 +71,17 @@ class mysqli extends \phpbb\db\driver\mysql_base
|
||||||
if (version_compare($this->sql_server_info(true), '5.0.2', '>='))
|
if (version_compare($this->sql_server_info(true), '5.0.2', '>='))
|
||||||
{
|
{
|
||||||
$result = @mysqli_query($this->db_connect_id, 'SELECT @@session.sql_mode AS sql_mode');
|
$result = @mysqli_query($this->db_connect_id, 'SELECT @@session.sql_mode AS sql_mode');
|
||||||
|
if ($result !== null)
|
||||||
|
{
|
||||||
$row = @mysqli_fetch_assoc($result);
|
$row = @mysqli_fetch_assoc($result);
|
||||||
@mysqli_free_result($result);
|
|
||||||
|
|
||||||
$modes = array_map('trim', explode(',', $row['sql_mode']));
|
$modes = array_map('trim', explode(',', $row['sql_mode']));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$modes = array();
|
||||||
|
}
|
||||||
|
@mysqli_free_result($result);
|
||||||
|
|
||||||
// TRADITIONAL includes STRICT_ALL_TABLES and STRICT_TRANS_TABLES
|
// TRADITIONAL includes STRICT_ALL_TABLES and STRICT_TRANS_TABLES
|
||||||
if (!in_array('TRADITIONAL', $modes))
|
if (!in_array('TRADITIONAL', $modes))
|
||||||
|
@ -109,8 +116,9 @@ class mysqli extends \phpbb\db\driver\mysql_base
|
||||||
if (!$use_cache || empty($cache) || ($this->sql_server_version = $cache->get('mysqli_version')) === false)
|
if (!$use_cache || empty($cache) || ($this->sql_server_version = $cache->get('mysqli_version')) === false)
|
||||||
{
|
{
|
||||||
$result = @mysqli_query($this->db_connect_id, 'SELECT VERSION() AS version');
|
$result = @mysqli_query($this->db_connect_id, 'SELECT VERSION() AS version');
|
||||||
|
if ($result !== null)
|
||||||
|
{
|
||||||
$row = @mysqli_fetch_assoc($result);
|
$row = @mysqli_fetch_assoc($result);
|
||||||
@mysqli_free_result($result);
|
|
||||||
|
|
||||||
$this->sql_server_version = $row['version'];
|
$this->sql_server_version = $row['version'];
|
||||||
|
|
||||||
|
@ -119,6 +127,8 @@ class mysqli extends \phpbb\db\driver\mysql_base
|
||||||
$cache->put('mysqli_version', $this->sql_server_version);
|
$cache->put('mysqli_version', $this->sql_server_version);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@mysqli_free_result($result);
|
||||||
|
}
|
||||||
|
|
||||||
return ($raw) ? $this->sql_server_version : 'MySQL(i) ' . $this->sql_server_version;
|
return ($raw) ? $this->sql_server_version : 'MySQL(i) ' . $this->sql_server_version;
|
||||||
}
|
}
|
||||||
|
@ -224,7 +234,7 @@ class mysqli extends \phpbb\db\driver\mysql_base
|
||||||
return $cache->sql_fetchrow($query_id);
|
return $cache->sql_fetchrow($query_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($query_id !== false)
|
if ($query_id !== false && $query_id !== null)
|
||||||
{
|
{
|
||||||
$result = @mysqli_fetch_assoc($query_id);
|
$result = @mysqli_fetch_assoc($query_id);
|
||||||
return $result !== null ? $result : false;
|
return $result !== null ? $result : false;
|
||||||
|
@ -434,10 +444,13 @@ class mysqli extends \phpbb\db\driver\mysql_base
|
||||||
$endtime = $endtime[0] + $endtime[1];
|
$endtime = $endtime[0] + $endtime[1];
|
||||||
|
|
||||||
$result = @mysqli_query($this->db_connect_id, $query);
|
$result = @mysqli_query($this->db_connect_id, $query);
|
||||||
|
if ($result !== null)
|
||||||
|
{
|
||||||
while ($void = @mysqli_fetch_assoc($result))
|
while ($void = @mysqli_fetch_assoc($result))
|
||||||
{
|
{
|
||||||
// Take the time spent on parsing rows into account
|
// Take the time spent on parsing rows into account
|
||||||
}
|
}
|
||||||
|
}
|
||||||
@mysqli_free_result($result);
|
@mysqli_free_result($result);
|
||||||
|
|
||||||
$splittime = explode(' ', microtime());
|
$splittime = explode(' ', microtime());
|
||||||
|
|
Loading…
Add table
Reference in a new issue