0

mysql でプロシージャを使用するのはこれが初めてであり、CI には十分ではありません。テーブルの内容を表示するプロシージャを作成したいのですが、これが私のプロシージャです。

CREATE DEFINER=`root`@`%` PROCEDURE `TestNewProcedure`()
BEGIN
      select * from app_tablet;
END;

mysqlで実行しようとすると正常に動作しますが、CIを使用してモデルから呼び出したいと思います。エラーが発生しました。コントローラーのコードは次のとおりです。

    public function tes3(){

        $data['rows'] = $this->menu_model->selectQuery("call TestNewProcedure()");
        $this->load->view('xml_view',$data);
    }

そして、ここにモデルからのコードがあります

    function selectQuery($query){
        return $this->db->query($query)->result();
    }

これは私が受け取ったエラーメッセージです。

Error Number: 1312

PROCEDURE myDB.TestNewProcedure can't return a result set in the given context

call TestNewProcedure()

Filename: /var/www/newfolder/models/menu_model.php

Line Number: 13

プロシージャを使用してテーブルの内容を表示したいのですが、どうすればよいですか?

4

1 に答える 1

0
$query = $this->db->query("call TestNewProcedure()");
return $query->result();
于 2013-09-13T05:25:08.007 に答える