0
votes

I have created a database by name 'somedatabase' in mysql

CREATE DATABASE somedatabase;  
GRANT ALL ON somedatabase.* TO 'someuser'@'localhost' IDENTIFIED BY 'somepassword';

but when i try to access this database using php application i get the following error

"mysql_connect() [function.mysql-connect]: Access denied for user 'someuser'@'localhost' (using password: YES)"

The Mysql query browser does allow me to login to this database using username : someuser and password : somepassword. Then why is that i am not able to connect to database through application.

php code :

$db_url = 'mysql://someuser:*somepassword*@localhost/somedatabase';
3
This is only assignment in variable what function are you using to connect to mysql?Shakti Singh
What happens if you try from the command line with the mysql command line program?dj_segfault
Can you show the full PHP connection code section?BugFinder
@dj_segfault : even from command line i am able to login to this database : mysql -u someuser -p..JAB
Here is a thread with similar situation and a fix : stackoverflow.com/questions/4958564/…lobster1234

3 Answers

1
votes

Do not use singlequote (') around someuser when using GRANT.

GRANT ALL ON somedatabase.* TO someuser@'localhost' IDENTIFIED BY 'somepassword'; 

I am also assuming that you're running Apache/PHP on the same box as MySQL.

0
votes

I had same problem. the solution of my problem by was setting the host , for some reason php was not connecting for user at any host (%)

-1
votes

Try this: GRANT ALL PRIVILEGES ON somedatabase.* TO 'someuser'@'%' IDENTIFIED BY 'somepassword';

http://dev.mysql.com/doc/refman/4.1/en/adding-users.html