存储过程未在CodeIgniter中返回结果

ff29svar  于 9个月前  发布在  其他
关注(0)|答案(1)|浏览(73)

我一直在这个问题,因为年龄,尝试了所有验证的方法,但问题没有解决。我调用MySQL存储过程通过CI模型得到的结果。但查询结果不返回结果,甚至没有显示任何错误。下面是代码:

控制器

function get_leads()
{
    $maxlimit = 10;
    $this->data["leads"] = $this->reports_model->calling_sp($maxlimit);
    $this->load->view('reports/get_leads', $this->data);
}

字符串

模型

function calling_sp($id$maxlimit) {
    $query = $this->db->query("CALL sp_test($maxlimit)");
    return $query->result();    
 }


在上面的代码“return $query->result();”行不工作,甚至不显示任何错误消息。如果我尝试“$query->num_rows()”检查,它甚至不显示记录数。在MySQL存储过程中工作正常。

这里是存储过程

CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_test`(
 IN `maxlimit` INT
 )
 LANGUAGE SQL
 NOT DETERMINISTIC
 CONTAINS SQL
 SQL SECURITY DEFINER
 COMMENT ''
 BEGIN
    SELECT * FROM leads
    WHERE id < maxlimit;
 END


请指导我在哪里我犯了错误或任何重要的东西,我可能会错过在codeigniter配置。
错误日志文件仅显示此消息:“Error --> Call to a member function result()on boolean”

mf98qq94

mf98qq941#

你需要在存储过程前面加上数据库名。例如,如果你的数据库名为mydb,那么你必须将模型中的查询行改为:
$query = $this->db->query("CALL mydb.sp_test($maxlimit)");

相关问题