【发布时间】:2018-11-19 22:16:26
【问题描述】:
我有一个.sql 文件,其中包含一些TRUNCATE、DROP TABLE IF EXISTS 和CREATE TABLE 语句以及数千个INSERT 和UPDATE 语句。
我正在尝试使用PHP批量执行文件中的所有语句如下:
$sql = file_get_contents('path/to/sql/file.sql');
$link->($sql);
$link 是一个有效的 MySQLi 数据库链接。我也尝试将$link->($sql) 换成$link->multi_query($sql),但似乎都不起作用。
如果有什么不同,我会尝试在 Windows 10 上的 XAMPP localhost 环境中使用 PHP 7.1 和 MariaDB 15.1 执行此操作。
有谁知道为什么这会导致问题并且不起作用?
在 PHP 中执行包含数千条语句的 SQL 文件的最佳方法是什么?
谢谢。
【问题讨论】:
-
请添加正在显示的错误
-
我用这个。这只是我为我准备的东西。有用。您至少可以看到这些命令在 Windows 上是如何工作的。 :) 是的,它作为我的单元测试的一部分运行。我用它来设置数据库。 pastebin.com/wWjfsYCQ
-
我明白了,@RyanVincent。基本上,您必须使用 PHP 中的
exec函数来运行带有某些选项的mysql命令。这就说得通了。非常感谢。如果 MySQL 和 Apache/PHP 安装在不同的服务器上,有没有办法做到这一点?谢谢。
标签: php sql xampp mysqli-multi-query