Error while connecting to mysql database from php - php

I have recently started exploring free hosting sites where they provide free mysql and php.
I have created a database and trying to connect to the database from php script. But while running the php. I am getting following error :
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'a1696486_test '#'localhost' (using password: YES) in /home/a1696486/public_html/myphp/test1.php on line 2
Warning: mysql_select_db() [function.mysql-select-db]: Access denied for user 'a1696486'#'localhost' (using password: NO) in /home/a1696486/public_html/myphp/test1.php on line 3
Any idea whats the problem ?
Regards,
Shankar

I have this issue on our dedicated servers, and the solution for me is to provide the fully qualified domain name rather than 'localhost'. For exmaple, my connection is:
mysqli_connect('dedi81.jnb1.host-h.net', 'user', 'pass', 'db');
Where even though localhost is the same as dedi81.jnb1.host-h.net (MySQL server and web server on one machine) I - for some reason - cannot use 'localhost'.
Another issue may be that on the hosting company you're with, they have not granted to you the correct permissions, or that there is indeed an error with the username and / or password.
You can also try and substitute 'localhost' with the IP address of the MySQL machine.
Kind regards,
Simon

Related

MySQL connection using my hostname instead of ipv4 address, leading to no access

I recently began a new internship where we use the Laravel PHP framework. When trying to connect to the company's MySQL server, I can connect using the given credentials using a program such as MySQL Workbench because my ipv4 address is whitelisted. When using Laravel, it is using my hostname in the connection string, leading to a no access error and I am not sure how to change that. Does anyone know how to fix this?
SQLSTATE[HY000] [1045] Access denied for user 'xxxx'#'ipxx-xx-xx-xxx.ri.ri.cox.net' (using password: YES)
I had the same issue, my mistake was incorrect username defined for local development vs remote connection, after correcting it, mysql connection picks the ip instead of my hostname. Also the following configuration fix the issue too. original answer here
DATABASE_URL=mysql://username:password#db_host:3306/db_name
Add this to your env variables

How do I create a MySQL user with a wildcard domain?

I am trying to setup a MySQL server that can be accessed by anyone on our internet network.
I can connect, via PHP, to the server using localhost, but not with my IP as hostname:
Warning: mysqli::mysqli() [mysqli.mysqli]: (28000/1045): Access denied for user 'user'#'user.corp.companyname.com' (using password: YES) in /Library/WebServer/Documents/doc.php on line 38
I've setup the same MySQL user using the hosts localhost, %, and *, but MySQL still doesn't seem to accept unknown hosts.
Update
Well, I give up: other machines on the network seem to have no problem making the MySQL connection, so it's just my local machine that refuses to authenticate when using my IP as the host.

File Doesn't Work in Virtual Server

I have a PHP file called footer10.php that worked just fine in shared hosting. I moved it to a virtual server and it no longer works.
I get these errors when I pull the file up in a browser:
Warning: mysql_query() [function.mysql-query]: Access denied for user 'apache'#'localhost' (using password: NO) in /var/www/.../...com/httpdocs/.../footer10.php on line 23
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /var/www/.../...com/httpdocs/.../footer10.php on line 23
Access denied for user 'apache'#'localhost' (using password: NO)
This is on line 23 of the file:
$presult = mysql_query("SELECT COUNT(*) FROM submission") or die(mysql_error());
Any idea what I need to do to make the file work on the virtual server?
Thanks in advance,
John
The error message means that PHP could not connect to the MySQL database.
If you're establishing the connection on your own using mysql_connect you should make sure that host, user and password are correct (according to the error message no password was specified)
The user name and the empty password makes me think you've relied on the mysql.default_* settings on your old server. You can specify a default server in your php.ini, refer to the manual for this. The connection will then be opened automatically by php.
So what you have to do is to find out correct credentials for your MySQL server. Then you either establish a connection using mysql_connect/mysql_pconnect or add it to the php.ini.
Access denied for user 'apache'#'localhost' (using password: NO) , what does this line mean ?
It means you need to update you're mysql connection settings with the correct ones ( username , password and host ) by this i mean you're mysql connection settings on the new server are different than the ones on the old server . Then make shure to move the database from one server to another .

php5 and mysql5 on windows server

I have installed php5 and mysql5 on my server , I can login to mysql from command,
but when I try to connect using php I got this error message:
Access denied for user 'root'#'localhost' (using password: YES)PHP Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'#'localhost' (using password: NO) in D:\HostingSpaces\law-training\lawtraining.ir\wwwroot\includes\class.php on line 279 PHP Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in
I dont use 'ODBC'#'localhost' in my code at all.
I check using phpmyadmin , also I can't use it and can't connect to server.I use port 3309 for mysql , and from local or remote php can't login.
I use also mysql4 on this server on port 3306 and I can use it without problem.
how can i fix this problem?
Thanks
Try logging in to localhost:3309, I think you'll find that you're running it on a non-standard port, so you need to tell PHP where to look for the server.
ie.
mysql_connect("localhost:3309", "root", "mypassword");
As a sidenote, the ODBC#localhost connection is what mysql_query tries to use if there's no connection already open.
Is this a brand new MySQL 5 installation, and you have no means to log into it? You may want to reset the root password.
http://dev.mysql.com/doc/refman/5.1/en/resetting-permissions.html
That should enable you to access MySQL using the command line. Then, make sure you have a root#localhost user and grant the relevant permissions to that user. For example:
mysql> GRANT ALL PRIVILEGES ON . TO 'root'#'localhost'
-> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
If the problem persists with odbc connections, make sure your odbc data access product is fully compatible with your version of MySQL 5.x
Regards,
Netrista Khatam
Technical Services Manager
OpenLink Product Support

mysql_connect() is not getting to the correct server

I have a system with a globally open mysql connection to the local server. In one of my files I am opening an additional connection to a remote machine.
Wieldly instead of trying to connect to that machine, I get an access denied message from my ISP (it seems to be trying to connect to the database on that machine).
I am trying to connect using:
$cust_conn = mysql_connect($host,'root','##password##');
I have tried subdomain.domain.com:3306, subdomain.domain.com and ip:3306 as the value for $host.
The wierd this is the response i get:
Warning: mysql_connect(): Access denied for user 'root'#'my.isp.com' (using password: YES) in /var/www/html/report/module/sql_view.php on line 19 Error: Could not connect to database:
Any ideas why this would happen? It seems like for some reason my script is attempting to connect to my ISPs server, instead of the one passed in $host.
The host given in the error message is the host it's trying to connect from, not to.
that hostname in the error (my.isp.com) is your client's host...remote root access is often disabled, or perhaps the pass/host combo is wrong
to add the creds:
http://dev.mysql.com/doc/refman/5.1/en/adding-users.html

Categories