(PHP 4, PHP 5)
mysql_connect — 打開一個到 MySQL 服務器的連接
說明
resource mysql_connect ([ string$server
[, string $username
[, string $password
[, bool $new_link
[, int $client_flags
]]]]] )
打開或重復使用一個到 MySQL 服務器的連接。
參數
server
MySQL 服務器。可以包括端口號,例如 "hostname:port",或者到本地套接字的路徑,例如對于 localhost 的 ":/path/to/socket"。
如果 PHP 指令 mysql.default_host 未定義(默認情況),則默認值是 'localhost:3306'。 在 SQL 安全模式 時,參數被忽略,總是使用 'localhost:3306'。
username
用戶名。默認值由 mysql.default_user 定義。 在 SQL 安全模式 時,參數被忽略,總是使用服務器進程所有者的用戶名。
password
密碼。默認值由mysql.default_password定義。在 SQL 安全模式 時,參數被忽略,總是使用空密碼。
new_link
如果用同樣的參數第二次調用
mysql_connect(),將不會建立新連接,而將返回已經打開的連接標識。參數
new_link
改變此行為并使
mysql_connect() 總是打開新的連接,甚至當
mysql_connect() 曾在前面被用同樣的參數調用過。
client_flags
client_flags
參數可以是以下常量的組合:MYSQL_CLIENT_SSL
,MYSQL_CLIENT_COMPRESS
,MYSQL_CLIENT_IGNORE_SPACE
或 MYSQL_CLIENT_INTERACTIVE
。進一步信息見MySQL 客戶端常量。
返回值
如果成功則返回一個 MySQL 連接標識, 或者在失敗時返回 FALSE
。
更新日志
版本
說明
4.3.0
添加 client_flags
參數。
4.2.0
添加 new_link
參數。
3.0.10
對 server
添加 ":/path/to/socket" 支持。
3.0.0
對 server
添加 ":port" 支持。
范例
Example #1 mysql_connect() 例子
<?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() 例子:使用 hostname:port 語法
<?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() 例子:使用 ":/path/to/socket" 語法
<?php
// we connect to localhost and socket e.g. /tmp/mysql.sock
//variant 1: ommit 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);
?>
注釋
Note:
本擴展自 PHP 5.5.0 起已廢棄,并在將來會被移除。應使用 MySQLi 或 PDO_MySQL 擴展來替換之。參見 MySQL:選擇 API 指南以及相關 FAQ 以獲取更多信息。用以替代本函數的有:
mysqli_connect() PDO::__construct()
Note:
只要將 server 指定為 "localhost" 或 "localhost:port",MySQL 客戶端庫會越過此值并嘗試連接到本地套接字(Windows 中的名字管道)。如果想用 TCP/IP,應該用 "127.0.0.1" 代替 "localhost"。如果 MySQL 客戶端庫試圖連接到一個錯誤的本地套接字,則應該在 PHP 配置中設定 的正確路徑并把 server 留空。
Note:
腳本一結束,到服務器的連接就被關閉,除非之前已經明確調用 mysql_close() 關閉了。
Note:
可以在函數名前加上一個 @ 來抑制出錯時的錯誤信息。
參見
mysql_pconnect() - 打開一個到 MySQL 服務器的持久連接 mysql_close() - 關閉 MySQL 連接