Copyright 1997-2012 the PHP Documentation Group.
mysql_connect
Open a connection to a MySQL Server
This extension is deprecated as of PHP 5.5.0, and will be removed in the future. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information. Alternatives to this function include:
mysqli_connect
|
PDO::__construct
|
Description
resource 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);Opens or reuses a connection to a MySQL server.
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
Table 2.3, “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.
Changelog
| Version | Description |
|---|---|
| 5.5.0 | This function will generate an
E_DEPRECATED
error. |
| 4.3.0 | Added the client_flags parameter. |
| 4.2.0 | Added the new_link parameter. |
Examples
Example 2.6. 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.7. 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 2.8. 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, you should set the correct path as
mysql.default_host
string
in your PHP
configuration and leave the server field 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.
You can suppress the error message on failure by prepending a @ to the function name.
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
|

User Comments
Add your own comment.