2012-01-31 46 views
0

我正在試圖將名爲Reservebox的MySQL數據庫備份到.gzip文件。我從教程中獲得了該腳本,並根據我的值更改了這些值。問題是,當我點擊提交什麼都沒有發生。我不知道我去了哪裏。MySQL備份不起作用

<form id="form1" name="form1" method="post" action="backup.php"> 
    <input type="submit" name="Backup" id="Backup" value="Backup" /> 
</form> 

<p>&nbsp;</p> 

<?php 
    include ("functions_cp/f_connection.php"); 
    Sqlconnection(); 

    $dbname = "Reservebox"; 
    $dbhost = "localhost"; 
    $dbuser = "root"; 
    $dbpass = "123"; 

    function backup() { 
     $backupFile = $dbname . date("Y-m-d-H-i-s") . '.gz'; 
     $command = "mysqldump --opt -h $dbhost -u $dbuser -p $dbpass $dbname | gzip > $backupFile"; 
     system($command); 
    } 
    if(isset($_POST['backup'])) { 
     backup(); 
    } 
+0

爲什麼不使用PHPMyAdmin進行備份?它超級簡單! – 2012-01-31 22:30:33

+0

檢查日誌。也許你的PHP配置不允許使用系統 – Alfabravo 2012-01-31 22:30:41

+0

我知道誰給我-1,但是OK! ,@ sh4nx0r我需要學習如何!我知道我可以使用PHPMYADMIN :) – 2012-01-31 22:32:24

回答

1

if(isset($_POST['backup'])) { 我認爲這條線上的備份需要大寫B!

如果不能對其進行排序,請嘗試在<?php之後的新行上添加error_reporting(E_ALL);

+0

後,我添加了error_reporting,它給了我這個「注意:未定義的變量:dbname,和所有其他變量具有相同的消息,我把它們都放在函數'備份',錯誤消失了但也沒有什麼反應agains,它似乎是當我點擊按鈕的東西加載了一下,但沒有文件下載。 – 2012-01-31 22:47:17

+1

通知是好的。您向我們顯示的代碼不顯示文件是要返回。它會寫一個.gz文件到文件系統,你應該去找:) – jon 2012-01-31 22:54:01

+0

我改變了類型爲.sql,它工作,但是我生成的文件是空的,有什麼建議嗎? – 2012-01-31 23:07:49

1

嘗試-p$dbpass之間取出的空間。

此外,刪除--opt。這不是絕對必要的。

+0

它沒有工作,謝謝:) – 2012-01-31 22:37:14