|
mysql_connect
Open a connection to a MySQL Server
Warning
This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0.
Instead, the MySQLi or PDO_MySQL extension should be used.
See also MySQL: choosing an API guide.
Alternatives to this function include:
- mysqli_connect
- PDO::__construct
Description
resourcefalse mysql_connect( string $server = ini_get("mysql.default_host"), string $username = ini_get("mysql.default_user"), string $password = ini_get("mysql.default_password"), bool $new_link = false , int $client_flags = 0 )
Parameters
-
server
-
The 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 SQL safe mode, this parameter is ignored
and value 'localhost:3306' is always used.
-
username
-
The username. Default value is defined by mysql.default_user. In
SQL safe mode, this parameter is ignored and the name of the user that
owns the server process is used.
-
password
-
The password. Default value is defined by mysql.default_password. In
SQL safe mode, this parameter is ignored and empty password is used.
-
new_link
-
If 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. The new_link parameter modifies this
behavior and makes mysql_connect always open
a new link, even if mysql_connect was called
before with the same parameters.
In SQL safe mode, this parameter is ignored.
-
client_flags
-
The client_flags parameter can be a combination
of the following constants:
128 (enable LOAD DATA LOCAL handling),
MYSQL_CLIENT_SSL ,
MYSQL_CLIENT_COMPRESS ,
MYSQL_CLIENT_IGNORE_SPACE or
MYSQL_CLIENT_INTERACTIVE .
Read the section about MySQL client constants for further information.
In SQL safe mode, this parameter is ignored.
Return Values
Returns a MySQL link identifier on success or false on failure.
Examples
Example #1 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);
?>
Example #2 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);
?>
Example #3 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
Note:
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 php.ini and the server field
left blank.
Note:
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.
Note:
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.
See Also
- mysql_pconnect
- mysql_close
|