问:我正在开发面板,管理员可以在其中将csv文件直接导入mysql数据库。但是我得到了错误。我的代码是
<?php
//在下方输入相关信息
$ mysqlDatabaseName = 'bilmos' ;
$ mysqlUserName = 'root' ;
$ mysqlPassword = '23nbhfi9' ;
$ mysqlHostName = '本地主机' ;
$ mysqlImportFilename = 'backup_26dec.sql' ;
//不要在此行下方进行编辑
//导出数据库并将状态输出到页面
$ command = 'mysql -h' 。$ mysqlHostName 。'-u' 。$ mysqlUserName 。'-p' 。$ mysqlPassword 。'' 。$ mysqlDatabaseName 。'<' 。$ mysqlImportFilename ;
exec ($ command ,$ output = array (),$ worked );
切换($ worked ){
情况 0 :
回声 '导入文件<b>' 。$ mysqlImportFilename 。'</ b>文件已上传到Mysql <b>' 。$ mysqlDatabaseName 。'</ b>' ;
休息;
情况 1 :
echo '无法上传,请重试或检查文件夹中是否存在相同文件:<br/> <br/> <table> <tr> <td> MySQL数据库名称:</ td> <td> <b >” 。$ mysqlDatabaseName 。'</ b> </ td> </ tr> <tr> <td> MySQL用户名:</ td> <td> <b>' 。$ mysqlUserName 。'</ b> </ td> </ tr> <tr> <td> MySQL密码:</ td> <td> <b> NOTSHOWN </ b> </ td> </ tr> <tr> <td > MySQL主机名:</ td> <td> <b>' 。$ mysqlHostName 。'</ b> </ td> </ tr> <tr> <td> MySQL导入文件名:</ td> <td> <b>' 。$ mysqlImportFilename 。'</ b> </ td> </ tr> </ table>' ;
休息;
}
?>
输出为错误:
无法上传,请再试一次或检查,如果同一个文件夹中存在或不:
MySQL数据库名称: bilmos
MySQL用户名: root
MySQL主机名: 本地主机
MySQL导入文件名: backup_26dec 。sql
请告诉我我在哪里做错了?
答:请更改行号10和11
10- $ command ='mysql -h'。$ mysqlHostName。' -u'。$ mysqlUserName。' -p'。$ mysqlPassword。' '。$ mysqlDatabaseName。' <'。$ mysqlImportFilename;
11- exec($ command,$ output = array(),$ worked);
TO
10- $ command ='mysql -h'。$ mysqlHostName。' -u'。$ mysqlUserName。' '。$ mysqlDatabaseName。' <'。$ mysqlImportFilename。' 2>&1';
11- exec($ command,$ output,$ worked);
在第12行之前ADD
var_dump($ output);
这应该向您显示实际错误。