Intereting Posts
Генерация автоматических комментариев Gettext Сделайте строчку в нижнем регистре, куда ее поместить Запрос PHP SoapClient: недействительный метод для этой службы Gmail как загрузка файла с помощью jQuery Ошибка прямой оплаты PayPal в песочнице Как я могу использовать file_put_contents () с FILE_APPEND | Безопасность LOCK_EX? Создание результата вызова AJAX () в Cross-Origin Request Blocked error CakePHP – общее количество разбиения на страницы отличается от фактического количества при использовании DISTINCT Как отлаживать запросы AJAX? Как узнать, какая функция PHP вызывается? PHP flat array для вложенных в ]] WordPress – Получить количество сообщений и комментариев по дням Как вставить константу PHP в SQL-запрос? Как переопределить массив конфигурации в контроллере в CodeIgniter? Как отформатировать путь PHP include () как абсолютный (а не относительный)? PHP устанавливает активную ссылку на странице, используя

Команда не синхронизирована, когда я запускаю хранимую процедуру! с использованием драйвера mysqli

Я использую драйвер Mysqli.

Я получаю команду из синхронизации, когда я пытаюсь запустить хранимую процедуру. я пытался

free_result(); 

это фрагмент моего кода, может ли кто-нибудь сказать мне решение?

 function block() { $qry = "CALL `sp_get_codes_by_block_id`(?)"; $result = $this->db->query($qry, $this->getBlockId()); $temp_array = array(); $temp_array = $result; $result->free_result(); return $result->result_array(); } 

ну, я на самом деле понял ответ после многократного штурма и поиска мозга.

  $qry = "CALL `sp_get_codes_by_block_id`(?)"; $result = $this->db->query($qry, $this->getBlockId()); mysqli_next_result($this->db->conn_id); return $result->result_array(); 

https://dev.mysql.com/doc/refman/5.0/en/c-api-multiple-queries.html говорит:

Обработка нескольких результатов также требуется, если вы выполняете инструкции CALL для хранимых процедур.

Т.е. вам нужно пройти все результирующие наборы через mysqli :: more_results и освободить их все.

попробуй использовать

 while(mysqli_next_result($this->db->conn_id)) { if($result = mysqli_store_result($this->db->conn_id)){ mysqli_free_result($result); } }