sql >> Databasteknik >  >> RDS >> Mysql

MySQL Error - Kommandon osynkroniserade; du kan inte köra det här kommandot nu

Fick svaret! Det verkar som om codeigniters mysql-drivrutin har buggar som hanterar lagrade procedurer.

Jag ändrade drivrutinerna från mysql till mysqli i config/database fil genom att ändra

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

till

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

Inlägg om att jag ändrade system/database/drivers/mysqli/mysqli_result.php fil och la till nedanstående funktion

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

och modifierade modellen enligt nedan

$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;
}

Detta löste problemet!



  1. Hur du säkerhetskopierar din Moodle MySQL-databas

  2. Laravel 5.1 Migration and Seeding Det går inte att trunkera en tabell som refereras till i en främmande nyckelrestriktion

  3. Hur man lägger till Meridiem Indicator (AM/PM) till ett tidsvärde i Oracle

  4. SQLite CHECK-begränsningar