MySqli Ошибка 2014 при новом подключении

при выполнении следующего кода я сталкиваюсь с ошибкой 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

Решение

Обнаружил проблему, проще говоря: проблем нет …

Сообщение об ошибке, о котором я сообщал, было получено в результате проверки переменных подключения mysqli, в то время как сценарий был остановлен на точке останова непосредственно после выполнения запроса.

Однако если я выведу эти переменные (например, «error», «errno»), они НЕ будут содержать значения, которые, как утверждал мой IDE, они сделали.

После циклического просмотра всех результатов запроса и освобождения объектов mysqli_results ошибка, которую можно просмотреть через IDE, исчезает, и это заставляет меня поверить, что это проблема с тем, как IDE захватывает эти переменные, и отображает ложную ошибку.

После этого открытия я выполнил свой запрос непосредственно через клиент MySQL и обнаружил, что в нем была другая синтаксическая ошибка, которая и вызывала настоящую проблему, ошибка 2014 года просто маскировала реальную проблему.

Спасибо всем за помощь, я использую Netbeans 8.0.2 (сборка 201411181905), и если кто-нибудь знает, будет ли такое поведение в других IDE, я бы хотел услышать об этом.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]