2013-04-15 38 views
0

我想從daatabase中使用php導出sql和excel文件。嘗試了在這裏發現的每一個薄但不工作。在php中導出.sql

看到代碼顯示錯誤「嚴格標準:只有變量應該通過引用傳遞給C:\ xampp \ htdocs \ dan \ index.php 學校出口給〜/ one.sql時出現警告」

<?php 

$mysqlDatabaseName ='school'; 
$mysqlUserName ='root'; 
$mysqlPassword =''; 
$mysqlHostName =''; 
$mysqlExportPath ='one.sql'; 


$command='mysqldump --opt -h' .$mysqlHostName .' -u' .$mysqlUserName .' -p' .$mysqlPassword .' ' .$mysqlDatabaseName .' > ~/' .$mysqlExportPath; 
exec($command,$output=array(),$worked); 
switch($worked){ 
    case 0: 
     echo 'Database <b>' .$mysqlDatabaseName .'</b> successfully exported to <b>~/' .$mysqlExportPath .'</b>'; 
     break; 
    case 1: 
     echo 'There was a warning during the export of <b>' .$mysqlDatabaseName .'</b> to <b>~/' .$mysqlExportPath .'</b>'; 
     break; 
    case 2: 
     echo 'There was an error during export. Please check your values:<br/><br/><table><tr><td>MySQL Database Name:</td><td><b>' .$mysqlDatabaseName .'</b></td></tr><tr><td>MySQL User Name:</td><td><b>' .$mysqlUserName .'</b></td></tr><tr><td>MySQL Password:</td><td><b>NOTSHOWN</b></td></tr><tr><td>MySQL Host Name:</td><td><b>' .$mysqlHostName .'</b></td></tr></table>'; 
     break; 
} 
?> 

回答

0
  1. 指定一個完整路徑mysqldump
  2. 如果一個主機名和密碼都爲空沒有指定相應的選項
  3. 確保出口路徑是可寫的

試試這個

$output = array(); 
$worked = 2; 
$command = "/usr/local/mysql/bin/mysqldump --opt"; 
if (!empty($mysqlHostName)) 
    $command .= " -h$mysqlHostName"; 
$command .= " -u$mysqlUserName "; 
if (!empty($mysqlPassword)) 
    $command .= " -p'$mysqlPassword'"; 
$command .= " $mysqlDatabaseName > /tmp/$mysqlExportPath"; 
// your code goes here 

調整路徑,mysqldump和導出文件夾相應