2013-05-14 33 views
5

尽管localhost具有执行权限,但我在我的web应用程序中运行查询时遇到以下错误。我通常所做的解决了其他论坛中的其他用户的问题,但由于某种原因,除非我错过了某些东西,否则不能解决我的问题。对用户执行命令被拒绝只读用户

注意:当我在navicat或其他地方运行相同的查询时,它工作正常。

还有什么可以解决这个问题吗?

由于

QUERY:

SELECT 
get_balance('$deadline', '$id') AS Balance, 
allow_submission('$id', '$term') AS Over 
FROM dual 

ERROR:

execute command denied to user 'readonlyuser'@'localhost' for routine 'mydb.allow_submission' 

我所做的:在Navicat GUI和Linux终端作为rootsuperuser

GRANT EXECUTE ON PROCEDURE mydb.allow_submission TO 'readonlyuser'@'localhost'; 

回答

5

当你在参数传递给allow_submission,我认为,这是一个功能,而不是一个过程。

试试这个:

GRANT EXECUTE ON FUNCTION mydb.allow_submission TO 'readonlyuser'@'localhost'; 
+1

我总是说,如果你一直在做的东西,休息一下,否则2 + 2变5!我不知道是什么让我在那里写PROCEDURE。非常感谢你。 – BentCoder 2013-05-14 10:20:40

相关问题