diff --git a/Sources/Subs-Db-mysql.php b/Sources/Subs-Db-mysql.php index cf341008d5..fa6403d9aa 100644 --- a/Sources/Subs-Db-mysql.php +++ b/Sources/Subs-Db-mysql.php @@ -50,7 +50,7 @@ function smf_db_initiate($db_server, $db_name, $db_user, $db_passwd, $db_prefix, 'db_server_info' => 'smf_db_get_server_info', 'db_affected_rows' => 'smf_db_affected_rows', 'db_transaction' => 'smf_db_transaction', - 'db_error' => 'mysqli_error', + 'db_error' => 'smf_db_errormsg', 'db_select_db' => 'smf_db_select', 'db_title' => MYSQL_TITLE, 'db_sybase' => false, @@ -1099,4 +1099,20 @@ function smf_db_escape_string($string, $connection = null) return mysqli_real_escape_string($connection === null ? $db_connection : $connection, $string); } +/** + * Wrapper to handle null errors + * + * @param null|mysqli $connection = null The connection to use (null to use $db_connection) + * @return string escaped string + */ +function smf_db_errormsg($connection = null) +{ + global $db_connection; + + if ($connection === null && $db_connection === null) + return ''; + + return mysqli_error($connection === null ? $db_connection : $connection); +} + ?> \ No newline at end of file diff --git a/Sources/Subs-Db-postgresql.php b/Sources/Subs-Db-postgresql.php index 27bcc4c41d..84e3feeada 100644 --- a/Sources/Subs-Db-postgresql.php +++ b/Sources/Subs-Db-postgresql.php @@ -52,7 +52,7 @@ function smf_db_initiate($db_server, $db_name, $db_user, $db_passwd, &$db_prefix 'db_server_info' => 'smf_db_version', 'db_affected_rows' => 'smf_db_affected_rows', 'db_transaction' => 'smf_db_transaction', - 'db_error' => 'pg_last_error', + 'db_error' => 'smf_db_errormsg', 'db_select_db' => 'smf_db_select_db', 'db_title' => POSTGRE_TITLE, 'db_sybase' => true, @@ -1033,4 +1033,20 @@ function smf_db_connect_errno() return $pg_connect_errno; } +/** + * Wrapper to handle null errors + * + * @param null|PgSql\Connection $connection = null The connection to use (null to use $db_connection) + * @return string escaped string + */ +function smf_db_errormsg($connection = null) +{ + global $db_connection; + + if ($connection === null && $db_connection === null) + return ''; + + return pg_last_error($connection === null ? $db_connection : $connection); +} + ?> \ No newline at end of file