2012-04-12 183 views
0

這裏是我的存儲過程在MySQL存儲過程不返回值

DELIMITER // 
CREATE PROCEDURE get_content(content1) 
BEGIN 
SELECT content into content1 
FROM page_content 
WHERE id= 1; 
/*END ;*/ 
END // 
DELIMITER ; 

回到我使用下面的代碼使用存儲過程,但要獲得價值其不返回任何東西,我只是想知道如果萬一我我錯過了什麼。這是我的PHP代碼

$rs = mysql_query('CALL get_content(@content1)'); 
$rs = mysql_query('SELECT @content1'); 
while($row = mysql_fetch_object($rs)) 
{ 
    print_r($row); 
} 

請幫助我,在此先感謝

斯納

回答

0

您需要使用輸出參數與SP。

DELIMITER // 
CREATE PROCEDURE get_content(out content1 varchar(500)) 
BEGIN 
    SELECT content into content1 FROM page_content WHERE id= 1; 
END// 
DELIMITER ; 

通過以下方法調用它。

SET @content1 =NULL; 

CALL `get_content`(@content1) 

SELECT @content1; 
+0

另外:當過程有一個語句時,可以省略BEGIN-END和DELIMITER關鍵字。 – Devart 2012-04-12 08:23:14