我想从数据库导出单个表而不使用phpmyadmin

时间:2012-04-06 11:23:26

标签: php mysql

我只有ftp凭据,我使用这个脚本

$r="mysqldump $dbuser $dbpass $dbname wp_posts > table1.sql";

system($r);

但不幸的是在table1.sql中得到一个空白的结果

4 个答案:

答案 0 :(得分:3)

您需要在命令中添加选项开关,请参阅mysqldump manual,如下所示

$r="mysqldump -u $dbuser -p $dbpass $dbname wp_posts > table1.sql";

答案 1 :(得分:2)

最后我得到了解决方案,这是我的代码:

<?php
$username = "abc";
$password = "xyz";
$hostname = "domain.com";
$database = "test_db";
$username =escapeshellcmd($username);
$password =escapeshellcmd($password);
$hostname =escapeshellcmd($hostname);
$database =escapeshellcmd($database);
$backupFile='url'.date("Y-m-d-H-i-s").$database.'.sql.tgz';

 $command = "mysqldump -u$username -p$password -h$hostname $database wp_posts > $backupFile";
system($command, $result);
echo $result;
?>

thnx的支持,非常感谢。

答案 2 :(得分:0)

如果用户具有权限,请尝试以下操作:

mysqldump -u$dbuser -p$dbpass $dbname wp_posts > table1.sql

指定参数(用户和密码)

答案 3 :(得分:0)

我认为是

mysqldump -u $dbuser -p $dbpass $dbname wp_posts

Apache用户需要具有写入table1.sql的权限,并且还需要执行mysqldump命令。如果在共享主机上,这是值得怀疑的。