导入phpmyadmin生成的sql dump

时间:2011-06-25 19:55:25

标签: php mysql sql phpmyadmin

我想使用php以编程方式从phpMyAdmin生成的sql dump中导入数据。

我发现了一些问题,但是他们没有帮助我,因为我没有shell访问权限,并且由于外键限制没有问题。

Create tables from SQL dump generated by phpmyadmin using kohana

Programmatic Equivalent Of Import in phpMyAdmin

---- ---- EDIT

这是我正在使用的代码,它工作正常但我认为它在数据库中有一些html时会中断。

sqldump_to_statements($contents)
{

    // remove c style and inline comments with -- and #
    $comment_patterns = array('/\/\*.*(\n)*.*(\*\/)?/','/\s*--.*\n/','/\s*#.*\n/');
    $contents = preg_replace($comment_patterns, "\n", $contents);
    $statements = explode(";\n", $contents);
    $statements = preg_replace("/\s/", ' ', $statements);
    return $statements;
}

3 个答案:

答案 0 :(得分:1)

以当前格式回答问题的问题是可以做出两种解释。

  1. 您正在询问如何导入通过PHPMyAdmin生成的文件,为此,您需要做的就是转到连接到您要使用的数据库的PHPMyAdmin的副本。 登录后,选择要使用的数据库,然后在页面顶部附近标记为import的选项卡,只需单击该文件并按要求上传文件,然后坐下来让PHPMyAdmin完成工作< / LI>
  2. 您问我们如何编写PHP脚本来获取导出的SQL文件并对其进行处理,有点像安装脚本......当您导出SQL文件时,您需要确保不选择任何文件压缩设置,并将其导出为文本或SQL文件,以便更容易处理,如果您告诉导出脚本包含注释,这也会更好如果你不想,可以避免物理上需要编辑文件。 从这里您有两个选择,您可以手动将文件拆分为多个部分,即一个文件用于所有表创建查询,另一个文件用于所有INSERT查询。这里的第二个选择是处理整个文件,因为它使用PHP查询,您可以在脚本中包含整个文件,然后可能看看将文件拆分为数组以便更容易处理并让最终用户知道进程如何正在进行中。
  3. 编辑:我知道它很冗长,如果你需要它来帮我提供一些代码示例

答案 1 :(得分:0)

我不确定这是否是您想要的,但您可以再次使用phpMyAdmin导入转储。获得一些额外的信息会很好。

选择要导入的数据库。 选择“导入”选项卡。 从那里你可以选择你的文件并定义其他参数。

希望这有帮助。

答案 2 :(得分:-1)

使用phpMyAdmin:

1:确保要导入的数据库已创建并清除干净,但是如果您只是要还原数据库,请记住删除所有表。您可以使用表格列表底部的下拉框中的DROP选项以及所有选定的表格。

2:选择您的数据库

3:点击屏幕顶部顶部菜单中的导入链接。您将看到文本框区域和文件上载选项。

4:单击文件上载选项上的浏览,找到.sql文件。然后单击“开始”按钮开始该过程。

注意:如果上传时遇到任何问题,很可能是因为.sql文件的大小因为导入大小非常有限,不用担心会有很少的变化你需要添加到你的php.ini,它应该没用。

1-找到您的php.ini配置文件,并将upload_max_filesize,memory_limit和post_max_size的值更改为比..sql文件更大的值。

2-重新启动您的Apache服务器,然后重试。

使用MySQL客户端GUI的第二种方法更容易,请访问此链接以获取完整的详细信息http://www.alfasky.com/2008/04/how-to-backup-and-restore-a-mysql-database/