5 votes

codeigniter : Commandes désynchronisées ; vous ne pouvez pas exécuter cette commande maintenant

J'ai appliqué toutes les réponses possibles mais le problème reste le même. j'ai aussi essayé

$this->db->reconnect();

il n'y a pas de problème dans ma requête

enter image description here

MyCode :

public function GetdistributorsDetails($username){
        $sql = "SELECT u.FirstName, u.Email, u.Telephone, u.MobileNumber, u.AlternateMobileNumber, ud.Address1, ud.Pincode,ud.City,s.Statename FROM users u JOIN userdetails ud ON ud.UserId = u.UserId JOIN states s ON s.StateId = ud.StateId WHERE u.Username = ? ";
        $result = $this->db->query($sql,array($username));
        return $result->result_array();
    }

24voto

Juned Ansari Points 1902

Ajouter le code suivant dans /system/database/drivers/mysqli/mysqli_result.php

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

puis, dans le modèle, lorsque vous appelez la procédure stockée

$query    = $this->db->query("CALL test()");
$res      = $query->result();

//add this two line 
$query->next_result(); 
$query->free_result(); 
//end of new code

return $res;

6voto

Sudik Maharana Points 68

Vous pouvez l'utiliser après l'appel

mysqli_next_result( $this->db->conn_id );

0voto

codekman Points 71

Utilisez simplement celle-ci si vous utilisez plusieurs requêtes dans la même fonction : $this->db->close() ;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X