mysql_connect
(PHP 4, PHP 5)
Open a connection to a MySQL Server
Note mysqli_connectPDO::__construct
Description
Opens or reuses a connection to a MySQL server.
Parameters
serverThe MySQL server. It can also include a port number. e.g. "hostname:port" or a path to a local socket e.g. ":/path/to/socket" for the localhost.
If the PHP directive mysql.default_host is undefined (default), then the default value is 'localhost:3306'. In Sqlsafemode, this parameter is ignored and value 'localhost:3306' is always used.
usernameThe username. Default value is defined by mysql.default_user. In Sqlsafemode, this parameter is ignored and the name of the user that owns the server process is used.
passwordThe password. Default value is defined by mysql.default_password. In Sqlsafemode, this parameter is ignored and empty password is used.
new_linkIf a second call is made to
mysql_connect()with the same arguments, no new link will be established, but instead, the link identifier of the already opened link will be returned. Thenew_linkparameter modifies this behavior and makesmysql_connect()always open a new link, even ifmysql_connect()was called before with the same parameters. In Sqlsafemode, this parameter is ignored.client_flagsThe
client_flagsparameter can be a combination of the following constants: 128 (enableLOAD DATA LOCALhandling),MYSQL_CLIENT_SSL,MYSQL_CLIENT_COMPRESS,MYSQL_CLIENT_IGNORE_SPACEorMYSQL_CLIENT_INTERACTIVE. Read the section about mysql.client-flags for further information. In Sqlsafemode, this parameter is ignored.
Return Values
Returns a MySQL link identifier on successFalseforfailure.
Examples
mysql_connect() example
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>mysql_connect() example using hostname:port syntax
<?php
// we connect to example.com and port 3307
$link = mysql_connect('example.com:3307', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
// we connect to localhost at port 3307
$link = mysql_connect('127.0.0.1:3307', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>mysql_connect() example using ":/path/to/socket" syntax
<?php
// we connect to localhost and socket e.g. /tmp/mysql.sock
// variant 1: omit localhost
$link = mysql_connect(':/tmp/mysql', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
// variant 2: with localhost
$link = mysql_connect('localhost:/tmp/mysql.sock', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>Notes
Whenever you specify "localhost" or "localhost:port" as server, the MySQL client library will override this and try to connect to a local socket (named pipe on Windows). If you want to use TCP/IP, use "127.0.0.1" instead of "localhost". If the MySQL client library tries to connect to the wrong local socket, the correct path should be set as mysql.default_host in Ini and the server field left blank.
The link to the server will be closed as soon as the execution of the script ends, unless it's closed earlier by explicitly calling mysql_close().
Error "Can't create TCP/IP socket (10106)" usually means that the variables_order configure directive doesn't contain character E. On Windows, if the environment is not copied the SYSTEMROOT environment variable won't be available and PHP will have problems loading Winsock.