2011-10-20 32 views
4

我有几乎100MB的example.sql文件。 (实际上是从另一个数据库导出数据的文件)如何在PHP中执行mysql脚本文件?

我想让用户能够通过我的应用程序中的某个界面运行此文件。 你能指导我怎么做?我应该把它当作简单的文本文件吗?要么有快捷方式?

换句话说,我想添加与我们在phpMyAdmin中相同的功能,即导入功能。

如果你可以参考我的一些关于PHPclass.org的课程,那将会很棒。

+0

让用户上传该文件,并将其推入'mysqldump'或类似的东西 – user973254

回答

4
function import_file($filename){ 
    if ($file = file_get_contents($filename)){ 
     foreach(explode(";", $file) as $query){ 
      $query = trim($query); 
      if (!empty($query) && $query != ";") { 
       mysql_query($query); 
      } 
     } 
    } 
} 

可以

import_file("files/files.sql"); 

被称为但是,此功能将无法正常,如果文件中包含分号;比其他地方在查询

+0

我只是想,似乎是最好的选择。将回来选择它作为接受的答案:) –

+3

如果任何实际数据包含';',这将会令人生畏。但是,对于快速'肮脏,这是'够好' –

+0

@MarcB:哇,甚至没有想到这种情况。在那种情况下,会有很多事情需要考虑。 – genesis

2

的工作进行到底创建一个文件上传表单允许可信用户将文件上传到服务器。然后从PHP调用mysql命令行工具将数据导入到数据库中。如果导入的数据中有任何带引号的分号,则试图通过爆炸(“;”,...)执行此操作将失败。