/** * Fills some debug data to be displayed in the debug interface. * * @param string $statement The sql statement being queried. * @param float $query_time The time that the query needed to be completed. * @param string $context The context of the sql query. * @param integer|array $resultset The result of the query. */ public static function setDebug($statement, $query_time, $context, $resultset, $db_params, $pdo = null) { if ($resultset !== false) { $error = $resultset->errorInfo(); $resultset_array = $resultset->fetchAll(); $rows_num = $resultset->rowCount(); } else { $error = $pdo->errorInfo(); $resultset_array = 0; $rows_num = 0; } $debug_query = array("tag" => $context, "sql" => $statement, "type" => 0 === stripos($statement, 'SELECT') ? 'read' : 'write', "host" => $db_params['db_host'], "database" => $db_params['db_name'], "user" => $db_params['db_user'], "trace" => DebugMysql::generateTrace(debug_backtrace(false)), "resultset" => $resultset_array, "time" => $query_time, "error" => isset($error[2]) !== false ? $error[2] : false); $debug_query['rows_num'] = $rows_num; if ($debug_query['error'] !== false) { // Log mysql_errors to disk: file_put_contents(ROOT_PATH . '/logs/errors_database.log', "================================\nDate: " . date('d-m-Y H:i:s') . "\nError:\n" . $error . "\n ", FILE_APPEND); Debug::push('queries_errors', $error); } Debug::push('queries', $debug_query); }