1

我使用命令在 MySql 中创建了一些存储过程

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

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

CALL sample;

并且

 CALL sample();

当我使用上面的查询时,没有显示输出,而是将页面重定向到 phpMyAdmin 主页。我需要在 phpMyAdmin 中进行任何更改吗???

4

2 回答 2

2

用于()调用存储过程

CALL sample();

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

你错过了DELIMITER

 DELIMITER // 
 CREATE PROCEDURE sample() 
 BEGIN 
 SELECT * FROM members; 
 END // 
 DELIMITER ;
于 2013-01-08T04:21:57.947 回答
1

您的存储过程很可能没有被创建。

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

DELIMITER //

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

DELIMITER ;

这告诉 MySQL 使用不同的分隔符(在本例中)并在查询结束时//恢复它(标准分隔符)。;

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

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

希望有帮助。

于 2013-01-08T04:32:19.277 回答