2017-04-05 62 views
0

我應用了所有可能的答案,但仍然是同樣的問題。 還試圖codeigniter:命令不同步;你現在不能運行這個命令

$this->db->reconnect(); 

有我的查詢沒有問題

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(); 
    } 
+1

您是否可能在顯示的代碼中使用存儲過程的查詢? – DFriend

+0

http://stackoverflow.com/questions/3632075/mysqli-giving-commands-out-of-sync-error-why – qwertzman

+0

@qwertzman,不是真正重複的,因爲OP正在處理數據庫抽象層笨。也就是說,存儲過程剛剛(或最近)被使用時,很可能是CI中發生的問題。但是,它可能是http://stackoverflow.com/questions/9647699/commands-out-of-sync-you-cant-run-this-command-now-while-calling-stored-proced和or http的副本://stackoverflow.com/questions/9821377/command-out-of-sync-when-i-run-stored-procedure-using-mysqli-driver – DFriend

回答

6

添加以下代碼/系統/數據庫/驅動器/庫MySQLi/mysqli_result。 php

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

然後在模型中,當你調用存儲過程

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

你可以使用這個電話後

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

如果使用多個查詢只需使用這一個使相同的功能: $這個 - > DB->關閉();

相關問題