为什么在使用简单存储过程时出现 MySQL 错误 #1312?
我正在尝试学习如何使用 MySQL 存储过程。 MySQL接受了我的过程:(
CREATE PROCEDURE SimpleProc()
BEGIN
SELECT * FROM myTable;
END
在phpMyAdmin中,我设置了//作为分隔符。真实版本具有实际表的名称而不是myTable。)。
但是,当我使用 CALL SimpleProc();
调用该过程时,出现错误“#1312 - PROCEDURE mydb.SimpleProc 无法在给定上下文中返回结果集”。
我读到某些版本的 php 或 phpMyAdmin 无法使用存储过程。
我正在使用在 Mac 上运行 MAMP 1.9 的本地主机。我有 MySQL 5.1.44、PHP 5.2.13 和 PHP 5.2.13。 5.3.2、phpMyAdmin 3.2.5。有谁知道存储过程是否适用于我的设置?我做错了什么吗?有什么建议吗?
为大红军在拉克斯的三连加时胜利而欢呼。
谢谢, 拉克斯米迪
I'm trying to learn how to use MySQL stored procedures. MySQL accepted my procedure:
CREATE PROCEDURE SimpleProc()
BEGIN
SELECT * FROM myTable;
END
(In phpMyAdmin, I set // for delimiter. The real version has the name of an actual table instead of myTable.).
But, when I call the procedure with CALL SimpleProc();
, I get error "#1312 - PROCEDURE mydb.SimpleProc can't return a result set in the given context".
I read that some versions of php or phpMyAdmin won't work with stored procedures.
I'm using a localhost running on a Mac with MAMP 1.9. I've got MySQL 5.1.44, PHP 5.2.13 & 5.3.2, phpMyAdmin 3.2.5. Does anyone know if stored procedures will work with my set-up? Am I doing something incorrectly? Any advice?
Shout out to the Big Red for a triple overtime victory in Lax.
Thanks,
Laxmidi
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,某些旧版本的 phpMyAdmin 中似乎存在错误,这可能会导致您收到 1312 错误。当从 phpMyAdmin 调用包含 SELECT 语句的存储过程时,可能会发生这种情况。
您可能需要查看以下帖子以进一步阅读:
此错误仅影响 phpMyAdmin,您仍然可以从其他任何地方调用存储过程。
Yes, there seems to be a bug in some older versions of phpMyAdmin, which can cause the 1312 error you are getting. This can happen when calling stored procedures that contain
SELECT
statements from phpMyAdmin.You may want to check out the following posts for further reading:
This bug effects only phpMyAdmin, and you would still be able to call the stored procedure from anywhere else.