mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-27 05:38:52 +00:00
[ticket/10205] Fix remaining db drivers.
PHPBB3-10205
This commit is contained in:
parent
1a7e2211c3
commit
9f549e8249
5 changed files with 93 additions and 43 deletions
|
@ -355,34 +355,44 @@ class dbal_mssql extends dbal
|
||||||
*/
|
*/
|
||||||
function _sql_error()
|
function _sql_error()
|
||||||
{
|
{
|
||||||
$error = array(
|
if (function_exists('mssql_get_last_message'))
|
||||||
'message' => @mssql_get_last_message(),
|
|
||||||
'code' => ''
|
|
||||||
);
|
|
||||||
|
|
||||||
// Get error code number
|
|
||||||
$result_id = @mssql_query('SELECT @@ERROR as code', $this->db_connect_id);
|
|
||||||
if ($result_id)
|
|
||||||
{
|
{
|
||||||
$row = @mssql_fetch_assoc($result_id);
|
$error = array(
|
||||||
$error['code'] = $row['code'];
|
'message' => @mssql_get_last_message(),
|
||||||
@mssql_free_result($result_id);
|
'code' => ''
|
||||||
}
|
);
|
||||||
|
|
||||||
// Get full error message if possible
|
// Get error code number
|
||||||
$sql = 'SELECT CAST(description as varchar(255)) as message
|
$result_id = @mssql_query('SELECT @@ERROR as code', $this->db_connect_id);
|
||||||
FROM master.dbo.sysmessages
|
if ($result_id)
|
||||||
WHERE error = ' . $error['code'];
|
|
||||||
$result_id = @mssql_query($sql);
|
|
||||||
|
|
||||||
if ($result_id)
|
|
||||||
{
|
|
||||||
$row = @mssql_fetch_assoc($result_id);
|
|
||||||
if (!empty($row['message']))
|
|
||||||
{
|
{
|
||||||
$error['message'] .= '<br />' . $row['message'];
|
$row = @mssql_fetch_assoc($result_id);
|
||||||
|
$error['code'] = $row['code'];
|
||||||
|
@mssql_free_result($result_id);
|
||||||
}
|
}
|
||||||
@mssql_free_result($result_id);
|
|
||||||
|
// Get full error message if possible
|
||||||
|
$sql = 'SELECT CAST(description as varchar(255)) as message
|
||||||
|
FROM master.dbo.sysmessages
|
||||||
|
WHERE error = ' . $error['code'];
|
||||||
|
$result_id = @mssql_query($sql);
|
||||||
|
|
||||||
|
if ($result_id)
|
||||||
|
{
|
||||||
|
$row = @mssql_fetch_assoc($result_id);
|
||||||
|
if (!empty($row['message']))
|
||||||
|
{
|
||||||
|
$error['message'] .= '<br />' . $row['message'];
|
||||||
|
}
|
||||||
|
@mssql_free_result($result_id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$error = array(
|
||||||
|
'message' => $this->connect_error,
|
||||||
|
'code' => '',
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $error;
|
return $error;
|
||||||
|
|
|
@ -360,10 +360,20 @@ class dbal_mssql_odbc extends dbal
|
||||||
*/
|
*/
|
||||||
function _sql_error()
|
function _sql_error()
|
||||||
{
|
{
|
||||||
return array(
|
if (function_exists('odbc_errormsg'))
|
||||||
'message' => @odbc_errormsg(),
|
{
|
||||||
'code' => @odbc_error()
|
return array(
|
||||||
);
|
'message' => @odbc_errormsg(),
|
||||||
|
'code' => @odbc_error()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return array(
|
||||||
|
'message' => $this->connect_error,
|
||||||
|
'code' => '',
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -439,10 +439,20 @@ class dbal_mysql extends dbal
|
||||||
{
|
{
|
||||||
if (!$this->db_connect_id)
|
if (!$this->db_connect_id)
|
||||||
{
|
{
|
||||||
return array(
|
if (function_exists('mysql_error'))
|
||||||
'message' => @mysql_error(),
|
{
|
||||||
'code' => @mysql_errno()
|
return array(
|
||||||
);
|
'message' => @mysql_error(),
|
||||||
|
'code' => @mysql_errno()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return array(
|
||||||
|
'message' => $this->connect_error,
|
||||||
|
'code' => '',
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return array(
|
return array(
|
||||||
|
|
|
@ -674,17 +674,27 @@ class dbal_oracle extends dbal
|
||||||
*/
|
*/
|
||||||
function _sql_error()
|
function _sql_error()
|
||||||
{
|
{
|
||||||
$error = @ocierror();
|
if (function_exists('ocierror'))
|
||||||
$error = (!$error) ? @ocierror($this->query_result) : $error;
|
|
||||||
$error = (!$error) ? @ocierror($this->db_connect_id) : $error;
|
|
||||||
|
|
||||||
if ($error)
|
|
||||||
{
|
{
|
||||||
$this->last_error_result = $error;
|
$error = @ocierror();
|
||||||
|
$error = (!$error) ? @ocierror($this->query_result) : $error;
|
||||||
|
$error = (!$error) ? @ocierror($this->db_connect_id) : $error;
|
||||||
|
|
||||||
|
if ($error)
|
||||||
|
{
|
||||||
|
$this->last_error_result = $error;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$error = (isset($this->last_error_result) && $this->last_error_result) ? $this->last_error_result : array();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$error = (isset($this->last_error_result) && $this->last_error_result) ? $this->last_error_result : array();
|
$error = array(
|
||||||
|
'message' => $this->connect_error,
|
||||||
|
'code' => '',
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $error;
|
return $error;
|
||||||
|
|
|
@ -300,10 +300,20 @@ class dbal_sqlite extends dbal
|
||||||
*/
|
*/
|
||||||
function _sql_error()
|
function _sql_error()
|
||||||
{
|
{
|
||||||
return array(
|
if (function_exists('sqlite_error_string'))
|
||||||
'message' => @sqlite_error_string(@sqlite_last_error($this->db_connect_id)),
|
{
|
||||||
'code' => @sqlite_last_error($this->db_connect_id)
|
return array(
|
||||||
);
|
'message' => @sqlite_error_string(@sqlite_last_error($this->db_connect_id)),
|
||||||
|
'code' => @sqlite_last_error($this->db_connect_id)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return array(
|
||||||
|
'message' => $this->connect_error,
|
||||||
|
'code' => '',
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Add table
Reference in a new issue