存储过程不返回值

时间:2012-04-12 07:34:33

标签: php mysql

这是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); 
}

请提前帮助我

斯纳

1 个答案:

答案 0 :(得分: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;