mysql_connect

(PHP 3, 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'。

username

會員名。預設值是伺服器程式所有者的會員名。

password

密碼。預設值是空密碼。

new_link

若果用同樣的參數第二次呼叫 mysql_connect(),將不會建立新連線,而將返回已經開啟的連線標識。參數 new_link 改變此行為並使 mysql_connect() 總是開啟新的連線,甚至當 mysql_connect() 曾在前面被用同樣的參數呼叫過。

client_flags

client_flags 參數可以是以下常量的組合:MYSQL_CLIENT_COMPRESSMYSQL_CLIENT_IGNORE_SPACEMYSQL_CLIENT_INTERACTIVE。進一步訊息見表格 2

返回值

若果成功則返回一個 MySQL 連線標識,失敗則返回 FALSE

更新日誌

版本說明
4.3.0 增加 client_flags 參數。
4.2.0 增加 new_link 參數。
3.0.10server 增加 ":/path/to/socket" 支援。
3.0.0server 增加 ":port" 支援。

範例

例子 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);
?>

例子 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);
?>

例子 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);
?>

注解

注: 只要將 server 指定為 "localhost" 或 "localhost:port",MySQL 用戶端庫會越過此值並嘗試連線到本地套接字(Windows 中的名字管道)。若果想用 TCP/IP,應該用 "127.0.0.1" 代替 "localhost"。若果 MySQL 用戶端庫試圖連線到一個錯誤的本地套接字,則應該在 PHP 配置中設定 mysql.default_host string 的正確路徑並把 server 留空。

注: 腳本一結束,到伺服器的連線就被關閉,除非之前已經明確呼叫 mysql_close() 關閉了。

注: 可以在函數名前加上一個 @ 來抑製出錯時的錯誤訊息。