2012-03-02 46 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); 

感謝