/** Utfør spørring */ public function query($query, $critical = true, $debug = false) { // hent data $result = parent::query($query, $critical, $debug); $info = mysql_info($this->link); // tid siden forrige spørring if ($this->lastquery) { $time = $this->time_last_begin - $this->lastquery; } else { $time = 0; } // lagre debug $this->queries_text[] = array("script_time____" => (microtime(true) - SCRIPT_START) * 1000, "time_last_query" => round($time, 6) * 1000, "query_time_____" => round($this->time_last, 6) * 1000, "query_info_____" => $info, "query__________" => $query); $this->lastquery = microtime(true); // send svaret tilbake return $result; }
if (isset($_FILES['sqlfile'])) { $src = $_FILES['sqlfile']['tmp_name']; if (!file_exists($src) || !is_uploaded_file($src)) { die("Filen ble ikke korrekt lastet opp."); } // kontroller at dette er en MySQL dump $fh = fopen($src, "r"); if (!$fh) { die("Filen {$src} kunne ikke bli åpnet."); } $first = fgets($fh, 1024); if (mb_strpos($first, "MySQL dump") === false) { die("Dette ser ikke ut som en 'MySQL dump'-fil"); } // drop databasen $db->query("DROP DATABASE IF EXISTS " . DBNAME); // opprett ny database $db->query("CREATE DATABASE " . DBNAME . " CHARSET=utf8 COLLATE=utf8_unicode_ci"); // velg den nye databasen $db->set_database(DBNAME); // importer fil exec("mysql --user="******" --pass="******" " . escapeshellarg(DBNAME) . " < " . escapeshellarg($src)); die('Filen ' . $src . ' ble importert. <a href="replace_db">Tilbake</a> <a href="login">Logg inn</a>'); } echo ' <h1>Ersatt database</h1> <p><a href="./">Tilbake</a></p> <form action="" method="post" enctype="multipart/form-data"> <p><b>Advarsel:</b> Dette vil fjerne alt i databasen med navn <b>' . htmlspecialchars(DBNAME) . '</b>.</p> <p><b>Velg MySQL-dump fil</b></p> <p><input type="file" name="sqlfile" /></p>