所以我有一个需要使用mysql_query()加载的SQL转储文件.不幸的是,用它执行多个查询是不可能的.
- >不能假设安装了mysql命令行客户端(mysql --help) - 用于直接加载SQL文件
- >不能假设安装了mysqli扩展
/* contents of dump.sql, including comments */
DELETE FROM t3 WHERE body = 'some text; with semicolons; scattered; throughout';
DELETE FROM t2 WHERE name = 'hello';
DELETE FROM t1 WHERE id = 1;
Run Code Online (Sandbox Code Playgroud)
下面的explode()不起作用,因为某些转储内容的值包含分号.
$sql = explode(';', file_get_contents('dump.sql'));
foreach ($sql as $key => $val) {
mysql_query($val);
}
Run Code Online (Sandbox Code Playgroud)
在不修改转储文件的情况下加载SQL的最佳方法是什么?