Latest web development tutorials

MySQL 連接

使用mysql二進制方式連接

您可以使用MySQL二進制方式進入到mysql命令提示符下來連接MySQL數據庫。

實例

以下是從命令行中連接mysql服務器的簡單實例:

[root@host]# mysql -u root -p
Enter password:******

在登錄成功後會出現mysql> 命令提示窗口,你可以在上面執行任何SQL 語句。

以上命令執行後,登錄成功輸出結果如下:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2854760 to server version: 5.0.9

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

在以上實例中,我們使用了root用戶登錄到mysql服務器,當然你也可以使用其他mysql用戶登錄。

如果用戶權限足夠,任何用戶都可以在mysql的命令提示窗口中進行SQL操作。

退出mysql> 命令提示窗口可以使用exit 命令,如下所示:

mysql> exit
Bye

使用PHP 腳本連接MySQL

PHP 提供了mysql_connect() 函數來連接數據庫。

該函數有5個參數,在成功鏈接到MySQL後返回連接標識,失敗返回FALSE 。

語法

connection mysql_connect(server,user,passwd,new_link,client_flag);

參數說明:

參數 描述
server

可選。 規定要連接的服務器。

可以包括端口號,例如"hostname:port",或者到本地套接字的路徑,例如對於localhost 的":/path/to/socket"。

如果PHP 指令mysql.default_host 未定義(默認情況),則默認值是'localhost:3306'。

user 可選。 用戶名。 默認值是服務器進程所有者的用戶名。
passwd 可選。 密碼。 默認值是空密碼。
new_link 可選。 如果用同樣的參數第二次調用mysql_connect(),將不會建立新連接,而將返回已經打開的連接標識。 參數new_link 改變此行為並使mysql_connect() 總是打開新的連接,甚至當mysql_connect() 曾在前面被用同樣的參數調用過。
client_flag

可選。 client_flags 參數可以是以下常量的組合:

  • MYSQL_CLIENT_SSL - 使用SSL 加密
  • MYSQL_CLIENT_COMPRESS - 使用壓縮協議
  • MYSQL_CLIENT_IGNORE_SPACE - 允許函數名後的間隔
  • MYSQL_CLIENT_INTERACTIVE - 允許關閉連接之前的交互超時非活動時間

你可以使用PHP的mysql_close() 函數來斷開與MySQL數據庫的鏈接。

該函數只有一個參數為mysql_connect()函數創建連接成功後返回的MySQL 連接標識符。

語法

bool mysql_close ( resource $link_identifier );

本函數關閉指定的連接標識所關聯的到MySQL 服務器的非持久連接。 如果沒有指定link_identifier,則關閉上一個打開的連接。

提示:通常不需要使用mysql_close(),因為已打開的非持久連接會在腳本執行完畢後自動關閉。

註釋: mysql_close()不會關閉由mysql_pconnect()建立的持久連接。

實例

你可以嘗試以下實例來連接到你的MySQL 服務器:

<html>
<head>
<meta charset="utf-8"> 
<title>Connecting MySQL Server</title>
</head>
<body>
<?php
   $dbhost = 'localhost:3306';  //mysql服务器主机地址
   $dbuser = 'guest';      //mysql用户名
   $dbpass = 'guest123';//mysql用户名密码
   $conn = mysql_connect($dbhost, $dbuser, $dbpass);
   if(! $conn )
   {
     die('Could not connect: ' . mysql_error());
   }
   echo 'Connected successfully';
   mysql_close($conn);
?>
</body>
</html>