Hallo sahabat Dumenity berjumpa lagi dalam tutorial kursuswebprogramming, pada tutorial kali ini kita akan belajar tentang Restore Database MySQL Menggunakan PHP. Memulihkan database melalui program dapat digunakan dalam aplikasi di mana pemuatan dinamis diperlukan. Ini juga bisa digunakan untuk membangun aplikasi client custom MySQL.Â
File backup database yang akan dipulihkan dipilih dan dikirim ke kode PHP melalui form HTML. Dalam kode PHP, jenis file divalidasi seperti yang telah kita lakukan untuk gambar yang diunggah melalui Editor TinyMCE. Setelah validasi, fungsi PHP membaca file SQL dan mengembalikan array query SQL. Array ini iterasi dan query dijalankan pada setiap iterasi untuk mengembalikan database yang lengkap.
Form HTML untuk Upload File Backup Database
Kode HTML ini untuk membuat user interface dengan form untuk mengunggah database MySQL file backup SQL dan mengirimkannya untuk mengembalikan database. Setelah berhasil mengembalikan, kita mengetahui pengguna dengan respon yang dikembalikan dari PHP menggunakan UI ini.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<?php if (! empty($response)) { ?> <div class="response <?php echo $response["type"]; ?> "> <?php echo nl2br($response["message"]); ?> </div> <?php } ?> <form method="post" action="" enctype="multipart/form-data" id="frm-restore"> <div class="form-row"> <div>Choose Backup File</div> <div> <input type="file" name="backup_file" class="input-file" /> </div> </div> <div> <input type="submit" name="restore" value="Restore" class="btn-action" /> </div> </form> |
Kode PHP untuk Mengembalikan Database MySQL
Kode PHP ini menerima kumpulan file yang diunggah dan memvalidasi jenis file sebelum memproses pengembalian database. Jika file upload tidak dengan ekstensi .sql, maka error response akan dikirim ke user. Jika tidak, file akan diurai menyimpan semua query ke dalam array. Kemudian query ini dieksekusi dalam satu lingkaran untuk mengembalikan database.
|
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 |
<?php $conn = mysqli_connect("localhost", "root", "test", "php_examples"); if (! empty($_FILES)) { // Validating SQL file type by extensions if (! in_array(strtolower(pathinfo($_FILES["backup_file"]["name"], PATHINFO_EXTENSION)), array( "sql" ))) { $response = array( "type" => "error", "message" => "Invalid File Type" ); } else { if (is_uploaded_file($_FILES["backup_file"]["tmp_name"])) { move_uploaded_file($_FILES["backup_file"]["tmp_name"], $_FILES["backup_file"]["name"]); $response = restoreMysqlDB($_FILES["backup_file"]["name"], $conn); } } } function restoreMysqlDB($filePath, $conn) { $sql = ''; $error = ''; if (file_exists($filePath)) { $lines = file($filePath); foreach ($lines as $line) { // Ignoring comments from the SQL script if (substr($line, 0, 2) == '--' || $line == '') { continue; } $sql .= $line; if (substr(trim($line), - 1, 1) == ';') { $result = mysqli_query($conn, $sql); if (! $result) { $error .= mysqli_error($conn) . "\n"; } $sql = ''; } } // end foreach if ($error) { $response = array( "type" => "error", "message" => $error ); } else { $response = array( "type" => "success", "message" => "Database Restore Completed Successfully." ); } } // end if file exists return $response; } ?> |
Oke itulah tadi pembahasan saya tentang Restore Database MySQL Menggunakan PHP, semoga bermanfaat.