mysql通过查询而不是bash导入脚本

时间:2010-05-09 10:26:12

标签: mysql

我有一个名为script.sql的文件

如何使用q mysql查询运行该文件?

global $sql;
$res = $sql->query("\. /script.sql")or die(mysql_error());

给出:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\. /script.sql' at line 1

2 个答案:

答案 0 :(得分:0)

读入文件,将其解析为单独的SQL语句,然后执行它们。

答案 1 :(得分:0)

您可以使用mysql多查询但它是PITA。一个更简单的解决方案是运行文件中找到的所有查询(根据内容可能会失败):

foreach (explode(",", file_get_contents("/path/to/script.sql")) as $query) {
      $sql->query($query);
}

但最简单,最快的是使用mysqlimport。如果需要从脚本启动它,可以使用PHP来调用命令行:

passhthru("mysql -hhost -uuser ppassword dbname < /path/to/script.sql");