我正在尝试学习如何使用MySQL存储过程。 MySQL接受了我的程序:
CREATE PROCEDURE SimpleProc()
BEGIN
SELECT * FROM myTable;
END
(在phpMyAdmin中,我设置了//用于分隔符。真实版本的名称是实际表而不是myTable。)。
但是,当我用CALL SimpleProc();
调用该过程时,我收到错误“#1312 - PROCEDURE mydb.SimpleProc无法在给定的上下文中返回结果集”。
我读到某些版本的php或phpMyAdmin不能用于存储过程。
我正在使用运行在带有MAMP 1.9的Mac上的本地主机。我有MySQL 5.1.44,PHP 5.2.13& 5.3.2,phpMyAdmin 3.2.5。有谁知道存储过程是否适用于我的设置?我做错了什么吗?有什么建议吗?
向大红队大喊大叫,以获得Lax的三次加时胜利。
谢谢, Laxmidi
答案 0 :(得分:3)
是的,某些旧版本的phpMyAdmin似乎存在错误,这可能会导致您收到的1312错误。当调用包含来自phpMyAdmin的SELECT
语句的存储过程时,可能会发生这种情况。
您可能需要查看以下帖子以供进一步阅读:
此错误仅影响phpMyAdmin,您仍然可以从其他任何地方调用存储过程。