2012-01-29 130 views
0

我创建了两个简单的PHP脚本来备份MySQL数据库,但这些脚本不能按预期工作。我用我的程序在Mac上使用甲基苯丙胺,并在Windows上使用AMPPS 7制作数据库备份

这里的两个脚本我用备份数据库:

[信息编辑]

第一个也是唯一的代码

<?php 

$host="localhost"; 
$user="root"; 
$password="root"; 
$db="trasporti"; 
[email protected]_connect("$host", "$user", "$password"); 
mysql_select_db("$db"); 

$backupFile = '../../t6/backup/' . $db . date("Y-m-d-H-i-s") . '.sql'; 
$command = "mysqldump -h $host -u $user -p $password $db > $backupFile"; 
system($command, $retval); 

echo $command; 
var_dump($retval); 

if ($retval==0) 
{ 
echo "BackUP Riuscito!"; 
} 
else 
    { 
    echo "BackUP Fallito!"; 
    } 

mysql_close($dbcnx_backup); 

?> 

有人可以解释我在这里做错了吗?

+0

第二个例子没用。你应该尝试修复第一个。给我们'echo $ command;'和'var_dump($ retval);'的输出。 – 2012-01-29 15:34:30

+0

如果'connect.php'打开一个数据库连接,那么这也没用 - 你不使用PHP的任何mysql的东西,只需使用一个外部mysql命令,它将建立它的OWN连接,完全独立于PHP。重要的是:你的shell的路径是mysqldump吗? – 2012-01-29 15:36:00

+0

'$ host'是什么?如果它的'localhost',请尝试'127.0.0.1' .... – Wrikken 2012-01-29 16:12:03

回答

0

删除-p后的空格。

您可以删除代码中所有对mysql_函数的调用。

在您的PHP配置中是否启用safe_mode?使用phpinfo()来告诉,如果是的话,你可能需要configure PHP或关掉它。