php – 命令不同步;你现在无法使用mysql存储过程在SugarCRM中运行此命令

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 命令不同步;你现在无法使用mysql存储过程在SugarCRM中运行此命令脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我的代码如下:

public function listParkedAccounts($days = NULL)
{
    global $db;
    $days_db = (empty($days))?"7":$days;
    $stmt    = "CALL parked_accounts('.$days_db.')";

    $result       = $db->query($stmt,true,'Failed to fetch aged author record');
    $aged_authors = MysqLi_fetch_all($result,MysqLI_ASSOC);
    //MysqL_free_result($result); tried this

    $counter = 0;
    $data    = null;

    foreach($aged_authors as $authors){
        if(empty($authors['call_descp'])){
            $stmt_notes   = "SELECT description From notes WHERE description IS NOT NULL AND parent_id = '".$authors['call_id']."' AND parent_tyPE = 'Calls' ORDER BY date_entered DESC LIMIT 1";
            $notes_descp = $db->getOne($stmt_notes,TRUE,'Error retrieving call notes');


            $notes = (!empty($notes_descp))?$notes_descp[0]['description']:"No Notes";

        }else{
           $notes = (!empty($authors['call_descp']))?$authors['call_descp']:"No Notes";
        }
        $lead = 'stuff';
        $data[$counter]['lead_id']    = $lead;
        $data[$counter]['call_notes'] = $notes;
        $counter++;
    }

    $size = sizeof($data);
    $json_vals['draw'] = "1";
    $json_vals['recordstotal'] = $size;
    $json_vals['recordsFiltered'] = $size;
    $json_vals['data'] = ($size > 0)?$data:array();
    return $json_vals;
}

我的问题是这个错误信息:

我从阅读this了解到,我需要释放结果或存储它们但是当我尝试这些时我仍然得到相同的错误信息.虽然我不太确定我应该在哪里释放结果,或者是否正确地执行它们.这是我第一次使用存储过程.

解决方法

调用存储过程时,存储过程可能包含需要处理的多个结果集.如果您只处理第一个结果集并继续尝试使用相同的连接执行另一个查询,那么您将获得

错误.

解决这个问题,不要使用$db->查询MysqLi_fetch_all(顺便说一下,不要混合面向对象的样式和程序样式),你应该使用Multi_query.

PHP文档中显示了如何使用行处理多个结果集的示例:
http://php.net/manual/en/mysqli.multi-query.php

脚本宝典总结

以上是脚本宝典为你收集整理的php – 命令不同步;你现在无法使用mysql存储过程在SugarCRM中运行此命令全部内容,希望文章能够帮你解决php – 命令不同步;你现在无法使用mysql存储过程在SugarCRM中运行此命令所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。