我有这个 SQL,是用 MySQL Workbench 制作的:http://pastebin.com/T09Actyg
在 MySQL 控制台中手动执行代码时,一切都按预期运行。然而,当从 PHP 查询时,我收到此错误:
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在 'SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; 附近使用的正确语法。在第 2 行设置@OLD'
这本质上是我的 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。
最佳答案
mysqli::query
一次只能进行一个查询:
http://www.php.net/manual/en/mysqli.query.php
您可以使用 mysqli::multi_query
代替:
http://www.php.net/manual/en/mysqli.multi-query.php
关于php - MySQL 可以在控制台中运行,但不能在 PHP 的 mysqli->query() 函数中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20735771/