如何使用php函数导入.sql文件
我使用的是Xampp服务器,我试图将一个表导入到我的数据库中,但该表不起作用。这是我的密码:如何使用php函数导入.sql文件,php,mysql,database,xampp,Php,Mysql,Database,Xampp,我使用的是Xampp服务器,我试图将一个表导入到我的数据库中,但该表不起作用。这是我的密码: $mysqlDatabaseName ='postcodes'; $mysqlUserName ='root'; $mysqlPassword =''; $mysqlHostName ='localhost'; $mysqlImportFilename ='http://localhost/import_tbl/postcode_withLatlang.sql'; $command='mysql -h
$mysqlDatabaseName ='postcodes';
$mysqlUserName ='root';
$mysqlPassword ='';
$mysqlHostName ='localhost';
$mysqlImportFilename ='http://localhost/import_tbl/postcode_withLatlang.sql';
$command='mysql -h' .$mysqlHostName .' -u' .$mysqlUserName .' -p' .$mysqlPassword .' ' .$mysqlDatabaseName .' < ' .$mysqlImportFilename;
//var_dump( file_exists('postcode_withLatlang.sql') );
$output = array();
exec($command, $output, $worked);
print_r($output);
echo $worked;
// test whether they are imported successfully or not
switch ($worked) {
case 0:
echo 'Import file <b>' .$mysqlImportFilename .'</b> successfully imported to database <b>' .$mysqlDatabaseName .'</b>';
break;
case 1:
echo 'There was an error during import. Please make sure the import file is saved in the same folder as this script and 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><tr><td>MySQL Import Filename:</td><td><b>' .$mysqlImportFilename .'</b></td></tr></table>';
break;
}
$mysqlDatabaseName='postcodes';
$mysqlUserName='root';
$mysqlPassword='';
$mysqlHostName='localhost';
$mysqlImportFilename='0http://localhost/import_tbl/postcode_withLatlang.sql';
$command='mysql-h'.$mysqlHostName'.-u'.$mysqlUserName'.-p'.$mysqlPassword'.$mysqlDatabaseName'.<'.$mysqlImportFilename;
//var_dump(文件_存在('postcode_withLatlang.sql');
$output=array();
exec($command,$output,$worked);
打印(输出);
我工作过;
//测试它们是否成功导入
交换机(已工作){
案例0:
回显“导入文件”。$mysqlImportFilename。已成功导入数据库“$mysqlDatabaseName”;
打破
案例1:
echo“导入过程中出错。请确保导入文件保存在与此脚本相同的文件夹中,并检查您的值:
MySQL数据库名称:'。$mysqlDatabaseName。'MySQL用户名:'。$mysqlUserName。'MySQL密码:NOTSHOWNMySQL主机名:'。$mysqlHostName。'MySQL导入文件名:'。$mysqlImportFilename';
打破
}
请帮助我您需要更改
$mysqlImportFilename=http://localhost/import_tbl/postcode_withLatlang.sql';
至$mysqlImportFilename='postcode_with latlang.sql'代码>,然后将您的php脚本文件放入带有.sql文件的文件夹中,并从该文件夹中运行它。它现在可以工作了!
首先,它在本地服务器上不起作用,其次,我使用了system()函数,而不是exec()函数,最后,它在我的数据库中生成了一个表。谢谢大家 非常确定您不能使用远程地址进行导入。。因此,请尝试删除http://localhost
并修复它,使其成为相对/绝对路径。我已从文件名中删除,但仍然无法工作。可能有一些问题,您确定路径正确吗?如果导出该数据库时存在DROP TABLE,您是否添加了DROP TABLE,否则它将在导入时停止。它不会显示或生成任何内容…只是旋转而不是按enter键并出现在此处,您可以尝试调试代码、添加日志记录、异常处理、错误处理,带着真实的信息回到这里。它没有显示或生成任何东西…只是旋转