如何在PHP中执行mysql脚本文件?

时间:2011-10-20 17:51:46

标签: php mysql sql

我有几乎100MB的example.sql文件。 (实际上是来自另一个数据库的数据导出文件)

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

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

如果你能在PHPclass.org上推荐一些很棒的课程。

2 个答案:

答案 0 :(得分: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");

但是,如果文件在查询结尾处的其他地方包含分号;,则此函数将无法正常工作

答案 1 :(得分:2)

创建一个文件上载表单,允许受信任的用户将文件上载到您的服务器。然后从PHP调用mysql命令行工具将数据导入数据库。如果导入的数据中有任何带分号的分号,那么尝试爆炸(“;”,...)这样做会失败。