CodeIgniter 経由で呼び出したいいくつかのストアド プロシージャを含むデータベースがあります。Model クラスに次のコードがあります。
$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
このコードを実行すると、次のエラーが発生します。
致命的なエラー: C:\server\apache\htdocs\application\models\let_model.php 行 1116 の非オブジェクトでメンバー関数 num_rows() を呼び出します
クエリ行を削除すると、選択が正しく機能します。また、ストアド プロシージャへの呼び出しを SELECT コマンドなどに置き換えると、それも適切に機能します。
このエラーが発生する理由について、私が見逃している明らかなものはありますか? 良い答えがない場合、この問題を回避する方法はありますか?
御時間ありがとうございます!
編集:問題をもう少し詳しく調べたところ、ストアド プロシージャに SELECT コマンドが含まれていると、このエラーが発生するようです。更新は適切に機能しているようです。おそらく、この問題は、CodeIgniter が SELECT の結果を処理する方法と関係があるのでしょうか?