php - MySQL 可以在控制台中运行,但不能在 PHP 的 mysqli->query() 函数中运行

标签 php mysql mysqli

我有这个 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/

相关文章:

php - 在 php 中实例化对象时的性能

javascript - 变量 isConnected 未更改

php - while循环重复一条记录?

php - 如果 WooCommerce 短代码没有返回任何产品,则显示一条消息

php - Apache 错误: No matching DirectoryIndex

mysql - SQL - 来自 SQL 查询的查询 - 如何从未知列中读取

mysql - 无法在触发器中设置变量

PHP |搜索攻击的用户和漏洞

PHP Mysql 从函数将数据插入数据库

php - 我如何获得去年的开始和结束日期?