2012-01-19 44 views
2

我有兩個存儲過程,但是當我調用兩個存儲過程,那麼下面的錯誤出現:SQL錯誤:2014:命令不同步的CakePHP中

Warning (512):

SQL Error: 2014: Commands out of sync; you can't run this command now [CORE/cake/libs/model/datasources/dbo_source.php, line 684]

我使用CakePHP。 而我的代碼是:

$city=$this->City->query('call CityMaster_SelectCityName'); 
$allAgents=$this->Admin->query('call WorkForceLoginMaster_SelectLoginName(0)'); 

有沒有簡單的解決方案?

回答

1

使用存儲過程/預處理語句時,需要先存儲結果集,然後再調用另一個。在原始mysqli中,您將使用mysqli_store_result()。我不知道,如果蛋糕有任何API,但。

+0

感謝您的回覆,但您可以回覆一些描述。你的回覆後,我使用給定的代碼,但我的問題,因爲它:$ city = $ this-> City-> query('call CityMaster_SelectCityName',MYSQLI_STORE_RESULT); $ city-> free(); $ this-> set('cities',$ city); $ allAgents = $ this-> Admin-> query('call WorkForceLoginMaster_SelectLoginName(0)'); $ this-> set('allAgents',$ allAgents);使用此代碼錯誤後出現「致命錯誤:調用免費()成員函數在/var/www/html/flatsnflats/app/controllers/inventorys_controller.php在第18行非對象」您可以請指導我我如何使用這個。 – zakmail007

+0

我真的不知道CakePHP。它看起來像你的$ city = $ this-> City-> query('call CityMaster_SelectCityName',MYSQLI_STORE_RESULT);'line沒有返回一個對象。爲什麼我不能說。 – Mchl

+0

好的謝謝先生,但你能告訴我你如何在**核心php **中使用兩個存儲過程。 – zakmail007