public static function db_error($message, $sql) { global $_G; list($showtrace, $logtrace) = core_error::debug_backtrace(); $title = lang('error', 'db_' . $message); $title_msg = lang('error', 'db_error_message'); $title_sql = lang('error', 'db_query_sql'); $title_backtrace = lang('error', 'backtrace'); $title_help = lang('error', 'db_help_link'); $db =& DB::object(); $dberrno = $db->errno(); $dberror = str_replace($db->tablepre, '', $db->error()); $sql = dhtmlspecialchars(str_replace($db->tablepre, '', $sql)); $msg = '<li>[Type] ' . $title . '</li>'; $msg .= $dberrno ? '<li>[' . $dberrno . '] ' . $dberror . '</li>' : ''; $msg .= $sql ? '<li>[Query] ' . $sql . '</li>' : ''; core_error::show_error('db', $msg, $showtrace, false); unset($msg, $phperror); $errormsg = '<b>' . $title . '</b>'; $errormsg .= "[{$dberrno}]<br /><b>ERR:</b> {$dberror}<br />"; if ($sql) { $errormsg .= '<b>SQL:</b> ' . $sql; } $errormsg .= "<br />"; $errormsg .= '<b>PHP:</b> ' . $logtrace; core_error::write_error_log($errormsg); exit; }