虽然localhost具有执行权限,但是当我在Web应用程序中运行查询时,我收到的错误如下.我所做的通常解决了这个论坛和其他论坛中其他用户的问题,但由于某种原因,除非我遗漏了某些东西,否则我的解决方法并不能解决.
注意:当我在navicat或其他任何地方运行相同的查询时,它工作正常.
还有什么可以解决这个问题吗?
谢谢
查询:
SELECT
get_balance('$deadline', '$id') AS Balance,
allow_submission('$id', '$term') AS Over
FROM dual
错误:
execute command denied to user 'readonlyuser'@'localhost' for routine 'mydb.allow_submission'
我做了什么:在Navicat GUI和Linux终端中以root用户身份和超级用户身份.
GRANT EXECUTE ON PROCEDURE mydb.allow_submission TO 'readonlyuser'@'localhost';
解决方法:
当您将参数传递给allow_submission时,我认为它是一个函数,而不是一个过程.
试试这个:
GRANT EXECUTE ON FUNCTION mydb.allow_submission TO 'readonlyuser'@'localhost';