4

我正在尝试学习如何使用 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。有谁知道存储过程是否适用于我的设置?我做错了什么吗?有什么建议吗?

向 Big Red 大喊,争取在 Lax 获得三倍加时赛胜利。

谢谢, 拉克西米迪

4

1 回答 1

3

是的,在某些旧版本的 phpMyAdmin 中似乎存在一个错误,这可能会导致您收到 1312 错误。当调用包含SELECT来自 phpMyAdmin 的语句的存储过程时,可能会发生这种情况。

您可能需要查看以下帖子以进一步阅读:

此错误仅影响 phpMyAdmin,您仍然可以从其他任何地方调用存储过程。

于 2010-05-16T01:12:03.510 回答