1

运行以下代码时,我遇到错误 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

4

1 回答 1

0

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

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

但是,如果我回显这些变量(例如,'error'、'errno'),它们不包含我的 IDE 声称的值。

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

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

感谢大家的帮助,我正在使用 Netbeans 8.0.2(内部版本 201411181905),如果有人知道这种行为在其他 IDE 中是否相同,我很想听听。

于 2015-04-01T09:49:06.473 回答