php - 存储过程调用后 Codeigniter DB 错误

标签 php mysql codeigniter

我有一个数据库,其中有一些存储过程,我想通过 CodeIgniter 调用它们。我的模型类中有以下代码:

$sql = "CALL `stored_proc`(1)";
$query = $this->db->query($sql); //This call breaks the DB :(

$this->db->select('status');
$this->db->where('id', $id);
$query = $this->db->get('table');

print($query->num_rows()); //line 1116

当我运行此代码时,出现以下错误:

Fatal error: Call to a member function num_rows() on a non-object in C:\server\apache\htdocs\application\models\let_model.php on line 1116

如果我删除查询行,选择将正常工作。另外,如果我用 SELECT 命令替换对存储过程的调用,它也可以正常工作。

是否有一些明显的我遗漏的东西导致我收到此错误?如果没有好的答案,有没有办法解决这个问题?

感谢您的宝贵时间!

编辑:在深入研究问题之后,如果我的存储过程包含 SELECT 命令,似乎就会发生此错误。更新似乎工作正常。也许这个问题与 CodeIgniter 如何处理 SELECT 结果有关?

最佳答案

由于这个问题首先出现在谷歌上,我已经设法使用以下方法解决了这个问题:

$this->db->simple_query($query);

代替常规的查询功能。

关于php - 存储过程调用后 Codeigniter DB 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12486720/

相关文章:

php-如何在执行命令时从 linux 终端获取 shell_exec() 输出?

php - 如何调试和防止 PHP 中的无限循环?

php - 需要 PHP 初学者帮助

PHP MySQL 准备语句 prepare() 失败

php - 更新使用 mysql 提交特定于此代码的 PHP 表单

php - 使用 codeigniter 下拉列表将 codeigniter 数据库移动到另一个表

php - undefined offset 通知似乎错误

php - 搜索结果,按访问权限过滤

php - 在最佳匹配上订购 SQL 查询

php - 使用MySQL + Google电子表格在CMS中输入帖子