-
Notifications
You must be signed in to change notification settings - Fork 0
/
import-sql.php
76 lines (61 loc) · 1.97 KB
/
import-sql.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?php
// --- Warning: Make sure your database name correct, same name will be overwrited
// --- Warning: This custom import sql code currently cannot import trigger bound database
//// --- Warning: Make sure you not included trigger in imported file --FIXED
//ENTER THE RELEVANT INFO BELOW
$hostname = "localhost";
$username = "root";
$password = "";
$dbname = @$_GET['dbname'];
$backup_name = @$_GET['backup'] ? $_GET['backup'] : "$dbname.sql";
// Create connection
$conn = new mysqli($hostname, $username, $password);
// Create new database if not exist
echo "Creating database: $dbname";
$conn->query("CREATE DATABASE IF NOT EXISTS `$dbname`");
$conn->query("USE `$dbname`");
echo "<br/>";
// Reset database tables
$query = "SELECT table_name FROM information_schema.tables WHERE table_schema = '$dbname'";
$tables = $conn->query($query);
while ($data = $tables->fetch_assoc()) {
echo "Restructuring... " . $data['table_name'];
$conn->query("DROP TABLE $data[table_name]");
echo "<br/>";
}
// Import database
echo "Importing... $backup_name";
echo "<br/>";
$templine = "";
$lines = file("$backup_name");
$delimiter = false;
foreach ($lines as $line) {
if (substr($line, 0, 2) == '--' || $line == '') continue;
// Fix: Handle trigger delimiter keyword error
if (trim($line) == "DELIMITER $$") {
$delimiter = true;
continue;
}
if (trim($line) == "$$") continue;
if (trim($line) == "DELIMITER ;") {
$delimiter = false;
continue;
}
// if (trim($line) == "END") $line = trim($line) . ";";
$templine .= $line;
if ($delimiter) {
if (trim($line) == "END") {
$conn->query($templine);
// echo $templine;
$templine = "";
}
} else if (substr(trim($line), -1, 1) == ';') {
$conn->query($templine);
// echo $templine;
$templine = "";
}
}
echo "Successfully... All tables is imported";
echo "<br/>";
echo "Successfuly... database is imported!";
if (@$_GET['backlink']) header('location: ' . $_GET['backlink']);