Reputation: 2861
I have some problem during open my old website. My dataTable show:
DataTables warning: JSON data from server could not be parsed. This is caused by a JSON formatting error.
After that, I tried to debug my script and found error in mysql:
Error occuered during query execution:
(<small>SELECT SQL_CALC_FOUND_ROWS ID,name,remark,avrusepmonth
, CONCAT('<input type=''checkbox''id=''cb' , ID ,''' name=''check[]''
value=''',ID,''' >','<label class=''lbcb'' for=''cb',
ID,'''><=update=</label>') as checkb
,monthavrage(ID,12) as latestavr , moq, leadtime
FROM test_media WHERE nowuse=1 and monthavrage(ID,12) > 0 ORDER BY name
desc, ID
LIMIT 0, 10</small>):
execute command denied to user 'jeinqa'@'localhost' for routine 'TestMediaControl.monthavrage'
Then I tried to googling for execute command denied to user 'jeinqa'@'localhost' for routine 'TestMediaControl.monthavrage'
and some sites said that I must do some GRANT
:
GRANT EXECUTE ON PROCEDURE TestMediaControl.monthavrage TO 'jeinqa'@'localhost'
but I got:
#1370 - execute command denied to user 'jeinqa'@'localhost' for routine 'TestMediaControl.monthavrage'
could you tell me how should I do for solving this?
Upvotes: 45
Views: 149217
Reputation: 1
Very very late to the party. I also committed a syntax mistake and got the same error. I used a space between my MAX function - MAX (ABC). Got it working after removing the space MAX(ABC).
Upvotes: -1
Reputation: 125
I got the same error when trying to use the MIN function in my query.
Error Code: 1370. execute command denied to user 'a.user'@'%' for routine 'mysqlserver.MIN'
MySQL didn't like seeing a space before MIN and the opening (.
After reading the above and trying MIN(..) instead of MIN (..) my query worked.
Go figure.
Upvotes: 3
Reputation: 29
I had the problem too - my error was quoting was with routine count - access denied.
The problem was I had "count (case when...)" and there cannot be a space between count and (. removing spaces fixed the error.
Upvotes: 1
Reputation: 47
I encountered this yesterday, I expected a syntax error but this message was shown.
My mistake: I wrote "SELECT m.id, m.MAX(id_number) as id_number..." instead of "SELECT m.id, MAX(m.id_number) as id_number...".... the error is with the MAX. The error message wasn't too helpful.
Upvotes: -1
Reputation: 955
I have encountered this in phpMyAdmin, a few hours ago, when executing a stored procedure with what I thought would be detected as a syntax error.
I was missing a comma between a field name, and a calculated field, and this gave me the same error message.
Upvotes: 9
Reputation: 2861
It works.....
I try to grant this priviledge in root
.
root
GRANT EXECUTE ON PROCEDURE TestMediaControl.monthavrage TO 'jeinqa'@'localhost'
flush privileges;
Upvotes: 52
Reputation: 5024
Very late to the party also try a combination of.
GRANT EXECUTE ON PROCEDURE TestMediaControl.monthavrage TO 'jeinqa'@'%';
AND
flush privileges;
Also try replacing PROCEDURE with FUNCTION.
Upvotes: 19