Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Błąd MySQL — niezsynchronizowane polecenia; nie możesz teraz uruchomić tego polecenia

Masz odpowiedź! Wygląda na to, że sterownik mysql firmy codeigniter ma błędy w obsłudze procedur składowanych.

Zmieniłem sterowniki z mysql na mysqli w config/database plik zmieniając

$db['default']['dbdriver'] = 'mysql';

do

$db['default']['dbdriver'] = 'mysqli';

Post, w którym zmodyfikowałem system/database/drivers/mysqli/mysqli_result.php plik i dodano poniższą funkcję

function next_result()
{
  if (is_object($this->conn_id))
  {
      return mysqli_next_result($this->conn_id);
  }
}

i zmodyfikowałem model jak poniżej

$db = $this->load->database('mailbox',TRUE);
$qry_res = $db->query('Call circle_pending_p()');

echo $db->_error_message();
$res = $qry_res->result_array();

$qry_res->next_result();
$qry_res->free_result();

if (count($res) > 0) {
      return $res;
} else {
      return 0;
}

To rozwiązało problem!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak usunąć bazę danych w MySQL/MariaDB?

  2. Jak rozwiązać błąd wywołania niezdefiniowanej funkcji dbase_open() w systemie Windows

  3. Uzyskaj pierwszą i ostatnią datę przyszłego miesiąca w MySQL

  4. MySQL JOIN w celu zastąpienia identyfikatorów wartościami z innej tabeli

  5. Czym dokładnie różni się użycie OR w instrukcji MySQL z nawiasami lub bez nawiasów?