【问题标题】:Sql Error: 2014: Commands out of sync in CakePHPSql 错误:2014:CakePHP 中的命令不同步
【发布时间】:2012-01-19 13:18:16
【问题描述】:

我有两个存储过程,但是当我调用两个存储过程时,会出现以下错误:

警告 (512):

SQL 错误:2014:命令不同步;你现在不能运行这个命令 [CORE/cake/libs/model/datasources/dbo_source.php,第 684 行]

我正在使用 cakephp。 我的代码是:

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

有简单的解决办法吗?

【问题讨论】:

    标签: php mysql cakephp-1.3


    【解决方案1】:

    使用存储过程/准备语句时,需要先存储结果集,然后才能调用另一个结果集。在原始 mysqli 中,您将使用 mysqli_store_result()。不过我不知道 Cake 是否有任何 API。

    【讨论】:

    • 感谢您的回复,但您能否回复一些描述。在您回复后,我使用给定的代码,但我的问题是: $city=$this->City->query('call CityMaster_SelectCityName', MYSQLI_STORE_RESULT); $城市->免费(); $this->set('cities',$city); $allAgents=$this->Admin->query('call WorkForceLoginMaster_SelectLoginName(0)'); $this->set('allAgents',$allAgents);使用此代码错误后出现“致命错误:在第 18 行的 /var/www/html/flatsnflats/app/controllers/inventorys_controller.php 中的非对象上调用成员函数 free()”你能指导我吗我如何使用它。
    • 我真的不知道 CakePHP。看起来您的 $city=$this->City->query('call CityMaster_SelectCityName', MYSQLI_STORE_RESULT); 行没有返回对象。为什么我不知道。
    • 好的,谢谢先生,但你能告诉我你是如何在core php中使用两个存储过程的吗?
    • 就像我说的,通常只需在调用存储过程之间调用mysqli_store_result()
    猜你喜欢
    • 2021-06-11
    • 2018-05-24
    • 1970-01-01
    • 2013-01-11
    • 2020-07-02
    • 2019-04-25
    • 1970-01-01
    • 2011-05-03
    相关资源
    最近更新 更多