2012-03-02 28 views
1

基本上我需要做的是使用PHP以纯文本转储SQL数据库。就像phpMyAdmin在您选择不导出文件时一样。使用PHP以纯文本转储SQL使用PHP

这样我可以通过邮件发送它,稍后使用SQL查询重新插入它。

这甚至可能吗?

谢谢。

回答

0

希望它可以帮助

<?php 

$dbhost = "HOSTNAME"; 
$dbuser = "USERNAME"; 
$dbpwd = "PASSWORD"; 
$dbname = "DATABASENAME"; 

$dumpfile = $dbname . "_" . date("Y-m-d_H-i-s") . ".sql"; 
passthru("/usr/bin/mysqldump --opt --host=$dbhost --user=$dbuser 
--password=$dbpwd $dbname > $dumpfile"); 

// report - disable with // if not needed 
// must look like "-- Dump completed on ..." 

echo "$dumpfile "; passthru("tail -1 $dumpfile"); 

?>

2

这既是可能的,也是非常简单的。以这种方式“转储”SQL数据与查询和编写查询没有任何区别。如果你在linux服务器上运行,我建议你只使用mysqldump,因为它是专门为此设计的。你可以完全放弃php,但如果你想要的话,你甚至可以使用类似exec这样的命令从php运行mysqldump命令,并且仍然用php通过电子邮件发送结果。

0

试试这个

define("SITE_DB_USERNAME", "$db_user"); 
define("SITE_DB_PASSWORD", "$db_pass"); 
define("SITE_DB_NAME", "$db"); 

system(" mysql -u".SITE_DB_USERNAME." -p".SITE_DB_PASSWORD." -hlocalhost ".SITE_DB_NAME." > file.txt); 

感谢