2012-04-16 70 views
0

Kohana是一个php框架。 这是文件。 如何在此框架中调用过程。 我已搜索和问题关于这个问题。 像: insert_id in Kohana 3如何在kohana中调用过程3.1

这是我的代码:

$conn = Database::instance();  
$queryStr = "call sp_createUser('$nick_name','$email','$password','127.0.0.1')"; 
$query = DB::query(Database::SELECT, $queryStr); 
$query->execute($conn); 

,但有一些例外..

Database_Exception [ 1312 ]: PROCEDURE sp_createUser can't return a result set in the given context [ call sp_createUser('1','1','1','127.0.0.1') ] 

似乎有点毛病数据库连接..

如何我可以修复它...请求一些帮助..

回答

0

使用$query->compile(Database::instance);查询之前检查您的查询字符串,并找到它的错误。

也给我们你的PROCEDURE正文。它像PROCEDURE一样以不兼容格式向Kohana返回数据。

您的$query->compile(Database::instance);返回字符串直接在mysql中执行吗?

+0

呼叫sp_createUser( '1', '1', '1', '127.0.0.1'),它可以成功地分贝。所以无可厚非执行与查询字符串。 – user1335597 2012-04-16 06:34:45

+0

否,PROCEDURE内容,代码 – 2012-04-16 06:36:20

+0

您在PHP中使用什么模块来使用MySQL? mod_mysql或mod_mysqli?使用存储过程需要mod_mysqli。 – 2012-04-16 06:42:29

-2

尝试用SELECT更换电话...

$queryStr = "SELECT sp_createUser('$nick_name','$email','$password','127.0.0.1')"; 
+0

使用CALL语句(http://dev.mysql.com/doc/refman/5.1/en/call.html) – 2012-04-16 06:46:44

+1

调用过程,您是正确的先生。 – 2012-04-16 06:48:21