I have some trouble connecting to a mysql server. I can connect using the linux terminal, so I know that my host, port, user, and password works. I cannot, however, connect using PHP.
PHP Version: 5.2.17
Server version: 5.5.27-log MySQL Community Server (GPL)
Here is a test code example:
<?php
$link = mysqli_connect('host.com:5306', 'user', 'pass', 'db');
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
if (!mysqli_query($link, "SET a=1")) {
printf("Errormessage: %s\n", mysqli_error($link));
}
/* close connection */
mysqli_close($link);
?>
Gives the following warning:
Warning: mysqli_connect() [function.mysqli-connect]: (HY000/2005): Unknown MySQL server host 'host.com:5306' (1) in /.../test.php on line 3
Connect failed: Unknown MySQL server host 'host.com:5306' (1)
Any ideas on what to do?
The port number must be a separate argument:
$link = mysqli_connect('host', 'user', 'pass', 'db', 5306);
Any ideas on what to do?
Sure. A simple three-step solution for any php function's problem:
- Open your favorite browser
- type
php.net/
in the address bar followed by a problem function's name:
`php.net/mysqli_connect` in your case
- Hit Enter
Now you have the function's description and can check the proper parameters list.
host is the IP of your mysql server, or maybe "localhost"
The host parameter in the mysql function need to be "localhost" or "127.0.0.1"
You set the parameter as "host:port" and that is your mistake. It's need to be the full alias of the network in the server or the remote server with the full IP address. You can found more information about this error here: http://compnetworking.about.com/od/workingwithipaddresses/g/127_0_0_1_def.htm
The mysql book in php.net: http://www.php.net/manual/en/function.mysql-connect.php