2012-03-10 49 views
4

我試圖運行一個程序我收到此錯誤命令不同步;而調用存儲過程在MySQL

Commands out of sync; you can't run this command now 

這裏是原來的錯誤,我得到

命令出來的,你現在不能運行這個命令同步;你不能運行這個命令現在

SELECT DISTINCT `property_id`, `pin`, `block_id`, `serial_no`, `status`, `ex_sn`, `ex_code`, `property_date_time`, `street_add`, `lab_name` FROM `view_property_user_lab` WHERE status = '6' AND lab_id = '01' AND designation IN('5','6') LIMIT 10 

可以在任何1告訴我爲什麼我收到此錯誤,以及如何擺脫它。我使用的代碼點火器,我也試過這種

$query->free_result(). 
我的過程中

我已經使用這個聲明

SELECT * 
    FROM 
    temp_calculated_rates_and_rules; 
-- and then 
    TRUNCATE temp_calculated_rates_and_rules; 

,因爲這件事被稱爲PHP循環是這樣

$arrIds = array('5','10'); 
    foreach ($arrIds as $id) 
    { 
     $this->_StoredProcedureMapper->setPId($id); 

     $p10values = $this->_StoredProcedureMapper->fetch_p10_values(); 
     if (intval(@$p10values[0]['is_exempted']) != 1) 
     { 
      $this->generate_p10($p10values); 
     } 

    } 

這裏是映射函數

function fetch_p1_values() 
{ 

    $qry = "CALL sp_main_pt10(?)"; 
    $result = $this->db->query($qry, $this->getPId()); 
    return $result->result_array(); 
} 

而我正在使用「mysqli」驅動程序

+0

這就是你所有的SQL?你是否同時運行其他任何查詢?在調用存儲過程或執行多重查詢時,我最經常看到此錯誤,但未打開多查詢模式。 – 2012-03-10 15:58:14

+0

是的非常真實我正在運行多個問號,但我只貼了實際顯示的錯誤 – 2012-03-10 16:02:59

+0

您可以發佈以前的查詢,也許運行它們的PHP嗎?您發佈的查詢沒有任何問題;當你嘗試執行它時,你的MySQL會話的狀態有問題。 – 2012-03-10 16:27:11

回答

3

因此您需要處理存儲過程生成的額外結果集。 mysqli驅動程序爲此提供了一種方法,但CodeIgniter可能不會使該方法可用。

https://ellislab.com/forums/viewthread/73714/#562711

我只是添加了以下內容mysqli_result.php是缺少 此命令一些奇怪的原因。 (下 /system/database/drivers/mysqli/mysqli_result.php)

// -------------------------------------------------------------------- 
    /** 
    * Read the next result 
    * 
    * @return null 
    */ 
    function next_result() 
    { 
    if (is_object($this->conn_id)) 
    { 
     return mysqli_next_result($this->conn_id); 
    } 
    } 
    // -------------------------------------------------------------------- 

然後在我的模型,我只需調用$ result-> next_result(),以鬆 預期外來結果集。

+0

鏈接不工作請取悅它。 – 2015-01-06 06:16:28

+0

@YatinMistry它現在已更新。 – 2015-01-06 16:00:57

+0

感謝您的更新 – 2015-01-07 04:47:28