0

我想使用数据库中的 php 导出 sql 和 excel 文件。尝试了在这里找到的每一个薄,但没有工作。

查看代码它显示错误“严格标准:只有变量应该通过引用在 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;
}
?>
4

1 回答 1

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 的路径并相应地导出文件夹

于 2013-04-15T12:43:10.893 回答