关于新连接的MySqli错误2014

时间:2015-03-31 14:07:01

标签: php mysql mysqli multi-query

运行以下代码时遇到错误2014:“命令不同步;您现在无法运行此命令”

$newConnection  = new mysqli("127.0.0.1", username, password, "", 3306);
$nativeQueryResult  = $newConnection->multi_query ("SELECT 1;");

但是在使用常规查询而不是多查询时我没有得到相同的错误,例如

$nativeQueryResult  = $newConnection->query ("SELECT 1;");

我对这个错误的理解是,当相同连接上的先前查询的结果尚未被释放时发生,但由于这是一个新连接,我认为这仍然不适用?

编辑:请注意,我没有对multi_query执行多次调用,这与此行为的其他常见问题不重复。这是新连接的第一个查询。

编辑:软件版本:OSX 10.10.2,PHP 5.5.19,MySql 5.6.22

1 个答案:

答案 0 :(得分:0)

发现问题,简单地说:没有问题......

我报告的错误消息来自于检查mysqli连接的变量,而脚本在执行查询后直接在断点处暂停。

但是,如果我回应这些变量(例如'错误',' errno'),它们不包含我的IDE声称他们所做的值。

在遍历查询的所有结果并释放mysqli_results对象后,可以通过IDE查看的错误消失,这让我相信这是IDE如何抓取这些变量并且显示错误的问题错误。

在发现之后,我直接通过mysql客户端运行了我的查询,发现其中存在不同的语法错误导致实际问题,2014年的错误只是掩盖了实际问题。

感谢大家的帮助,我正在使用Netbeans 8.0.2(Build 201411181905),如果有人知道这种行为在其他IDE中是否相同,我很乐意听到它。