MySQL在控制台中工作,但在PHP的mysqli-> query()函数中没有

时间:2013-12-23 01:08:45

标签: php mysql mysqli

我有这个用MySQL Workbench制作的SQL:http://pastebin.com/T09Actyg

在MySQL控制台中手动执行代码时,一切都按预期工作。但是,当从PHP查询时,我收到此错误:

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 'SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; SET @OLD' at line 2

这基本上是我的PHP代码:

$sql_conn = new mysqli($conf->sql_host, $conf->sql_user, $conf->sql_pass, $conf->db_name); $query_str = file_get_contents("setup/sql_setup.txt"); $sql_conn->query($query_str);

我不知道这里发生了什么。非常感谢所有帮助。

编辑:sql_setup.txt文件的内容是我链接到的pastebin。

1 个答案:

答案 0 :(得分:2)

mysqli::query一次只能进行一次查询: http://www.php.net/manual/en/mysqli.query.php

您可以使用mysqli::multi_query代替: http://www.php.net/manual/en/mysqli.multi-query.php