我一直在这个问题,因为年龄,尝试了所有验证的方法,但问题没有解决。我调用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”
1条答案
按热度按时间mf98qq941#
你需要在存储过程前面加上数据库名。例如,如果你的数据库名为
mydb
,那么你必须将模型中的查询行改为:$query = $this->db->query("CALL mydb.sp_test($maxlimit)");
个