运行以下代码时遇到错误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
答案 0 :(得分:0)
发现问题,简单地说:没有问题......
我报告的错误消息来自于检查mysqli连接的变量,而脚本在执行查询后直接在断点处暂停。
但是,如果我回应这些变量(例如'错误',' errno'),它们不包含我的IDE声称他们所做的值。
在遍历查询的所有结果并释放mysqli_results对象后,可以通过IDE查看的错误消失,这让我相信这是IDE如何抓取这些变量并且显示错误的问题错误。
在发现之后,我直接通过mysql客户端运行了我的查询,发现其中存在不同的语法错误导致实际问题,2014年的错误只是掩盖了实际问题。
感谢大家的帮助,我正在使用Netbeans 8.0.2(Build 201411181905),如果有人知道这种行为在其他IDE中是否相同,我很乐意听到它。