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:
Sure. A simple three-step solution for any php function's problem:
php.net/
in the address bar followed by a problem function's name:`php.net/mysqli_connect` in your case
Now you have the function's description and can check the proper parameters list.
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
host is the IP of your mysql server, or maybe "localhost"