mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 22:28:51 +00:00
[ticket/10205] Convert mssqlnative driver to the same logic.
PHPBB3-10205
This commit is contained in:
parent
40db60e45f
commit
de2fe1a308
1 changed files with 32 additions and 20 deletions
|
@ -199,16 +199,18 @@ class dbal_mssqlnative extends dbal
|
||||||
var $m_insert_id = NULL;
|
var $m_insert_id = NULL;
|
||||||
var $last_query_text = '';
|
var $last_query_text = '';
|
||||||
var $query_options = array();
|
var $query_options = array();
|
||||||
|
var $connect_error = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Connect to server
|
* Connect to server
|
||||||
*/
|
*/
|
||||||
function sql_connect($sqlserver, $sqluser, $sqlpassword, $database, $port = false, $persistency = false, $new_link = false)
|
function sql_connect($sqlserver, $sqluser, $sqlpassword, $database, $port = false, $persistency = false, $new_link = false)
|
||||||
{
|
{
|
||||||
# Test for driver support, to avoid suppressed fatal error
|
// Test for driver support, to avoid suppressed fatal error
|
||||||
if (!function_exists('sqlsrv_connect'))
|
if (!function_exists('sqlsrv_connect'))
|
||||||
{
|
{
|
||||||
trigger_error('Native MS SQL Server driver for PHP is missing or needs to be updated. Version 1.1 or later is required to install phpBB3. You can download the driver from: http://www.microsoft.com/sqlserver/2005/en/us/PHP-Driver.aspx\n', E_USER_ERROR);
|
$this->connect_error = 'Native MS SQL Server driver for PHP is missing or needs to be updated. Version 1.1 or later is required to install phpBB3. You can download the driver from: http://www.microsoft.com/sqlserver/2005/en/us/PHP-Driver.aspx';
|
||||||
|
return $this->sql_error('');
|
||||||
}
|
}
|
||||||
|
|
||||||
//set up connection variables
|
//set up connection variables
|
||||||
|
@ -514,31 +516,41 @@ class dbal_mssqlnative extends dbal
|
||||||
*/
|
*/
|
||||||
function _sql_error()
|
function _sql_error()
|
||||||
{
|
{
|
||||||
$errors = @sqlsrv_errors(SQLSRV_ERR_ERRORS);
|
if (function_exists('sqlsrv_errors'))
|
||||||
$error_message = '';
|
|
||||||
$code = 0;
|
|
||||||
|
|
||||||
if ($errors != null)
|
|
||||||
{
|
{
|
||||||
foreach ($errors as $error)
|
$errors = @sqlsrv_errors(SQLSRV_ERR_ERRORS);
|
||||||
|
$error_message = '';
|
||||||
|
$code = 0;
|
||||||
|
|
||||||
|
if ($errors != null)
|
||||||
{
|
{
|
||||||
$error_message .= "SQLSTATE: ".$error[ 'SQLSTATE']."\n";
|
foreach ($errors as $error)
|
||||||
$error_message .= "code: ".$error[ 'code']."\n";
|
{
|
||||||
$code = $error['code'];
|
$error_message .= "SQLSTATE: ".$error[ 'SQLSTATE']."\n";
|
||||||
$error_message .= "message: ".$error[ 'message']."\n";
|
$error_message .= "code: ".$error[ 'code']."\n";
|
||||||
|
$code = $error['code'];
|
||||||
|
$error_message .= "message: ".$error[ 'message']."\n";
|
||||||
|
}
|
||||||
|
$this->last_error_result = $error_message;
|
||||||
|
$error = $this->last_error_result;
|
||||||
}
|
}
|
||||||
$this->last_error_result = $error_message;
|
else
|
||||||
$error = $this->last_error_result;
|
{
|
||||||
|
$error = (isset($this->last_error_result) && $this->last_error_result) ? $this->last_error_result : array();
|
||||||
|
}
|
||||||
|
|
||||||
|
return array(
|
||||||
|
'message' => $error,
|
||||||
|
'code' => $code,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$error = (isset($this->last_error_result) && $this->last_error_result) ? $this->last_error_result : array();
|
return array(
|
||||||
|
'message' => $this->connect_error,
|
||||||
|
'code' => '',
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return array(
|
|
||||||
'message' => $error,
|
|
||||||
'code' => $code,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Add table
Reference in a new issue