2012-04-16 69 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