8

CodeIgniter でストアド プロシージャを呼び出すことができません。ただし、MySQL でプロシージャを直接呼び出すと、機能します。CodeIgniter で呼び出すと機能しないのはなぜですか?

CREATE DEFINER=`root`@`localhost` PROCEDURE `test_proc`()
LANGUAGE SQL
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT ''
BEGIN
  declare name1 TEXT;
  declare id1 TEXT;
  select name,id into name1,id1 from my_tbl WHERE name='sam';
  select * from my_tbl;
  select name1,id1;
END
4

2 に答える 2

19

プロシージャを呼び出すには、次の方法を使用していると思います。

$this->db->call_function('test_proc');

それは間違っています。このメソッドを使用して呼び出すことができるのは、デフォルトのプロシージャのみです。あなたが定義した手続きを呼び出すには、

$this->db->query("call test_proc()");
于 2013-09-11T12:32:09.460 に答える