在Mysql中调用存储过程

时间:2013-01-08 04:17:47

标签: php mysql

我使用命令

在MySql中创建了一些存储过程
CREATE PROCEDURE sample() 
BEGIN 
SELECT * FROM members; 
END // 

但是当我想在我的phpMyAdmin或使用php来调用存储过程时我没有得到结果。我使用的命令

CALL sample;

以及

 CALL sample();

当我使用他上面的查询时,没有显示输出,而是将页面重定向到phpMyAdmin主页。 我需要在phpMyAdmin ???

中进行任何更改

2 个答案:

答案 0 :(得分:2)

使用()来调用存储过程

CALL sample();

http://forums.mysql.com/read.php?98,358569

你错过了DELIMITER

 DELIMITER // 
 CREATE PROCEDURE sample() 
 BEGIN 
 SELECT * FROM members; 
 END // 
 DELIMITER ;

答案 1 :(得分:1)

您的存储过程很可能尚未创建。

您必须包含DELIMITER命令告诉MySQL忽略命令中的;

DELIMITER //

CREATE PROCEDURE sample()
BEGIN
  SELECT * FROM members;
END//

DELIMITER ;

告诉MySQL使用不同的分隔符(在这种情况下为//)并在查询结束时将其恢复(标准;分隔符)。

然后,使用SHOW PROCEDURE STATUS检查您的程序是否存在。

据我所知,您不应该使用方括号()来调用不需要任何参数的过程。

希望有所帮助。