PHP マニュアル
前のページ |  | 次のページ

# 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

  同じ引数で 2 回 mysql_connect() をコールした場合、 2 回目は新規のリンクが確立されるのではなく、代わりにすでにオープンされた リンクのリンク ID が返されます。 パラメータ new_link はこの動作を変更し、既に mysql_connect() が同じパラメータでコールされて いる場合でも常に新規のリンクがオープンされるようにします。

client_flags

  パラメータ client_flags は、 以下の定数の組み合わせです： `MYSQL_CLIENT_SSL`、 `MYSQL_CLIENT_COMPRESS`、 `MYSQL_CLIENT_IGNORE_SPACE` または `MYSQL_CLIENT_INTERACTIVE`。 詳細な情報については 表2 を参照ください。

## 返り値

成功した場合に MySQL リンク ID を、失敗した場合に `FALSE` を返します。

## 変更履歴

バージョン | 説明
--- | ---
4.3.0 | パラメータ client_flags が追加されました。
4.2.0 | パラメータ new_link が追加されました。
3.0.10 | server に、":/path/to/socket" のサポートが追加されました。
3.0.0 | server に、":port" のサポートが追加されました。

## 例

例 1. mysql_connect() の例

`<?php $link = mysql_connect('localhost', 'mysql_user', 'mysql_password'); if (!$link) { die('接続できませんでした: ' . mysql_error()); } echo '接続に成功しました'; mysql_close($link); ?>`

例 2. mysql_connect() で hostname:port 構文を使用する例

`<?php
// example.com のポート 3307 に接続します
$link = mysql_connect('example.com:3307', 'mysql_user', 'mysql_password');
if (!$link) {
die('接続できませんでした: ' . mysql_error());
}
echo '接続に成功しました';
mysql_close($link);
// localhost のポート 3307 に接続します
$link = mysql_connect('127.0.0.1:3307', 'mysql_user', 'mysql_password');
if (!$link) {
die('接続できませんでした: ' . mysql_error());
}
echo '接続に成功しました';
mysql_close($link);
?>`

例 3. mysql_connect() で ":/path/to/socket" 構文を使用する例

`<?php
// localhost のソケット（例: /tmp/mysql.sock）に接続します
// 方法 1: localhost を省略する
$link = mysql_connect('/tmp/mysql', 'mysql_user', 'mysql_password');
if (!$link) {
die('接続できませんでした: ' . mysql_error());
}
echo '接続に成功しました';
mysql_close($link);
// 方法 2: localhost を指定する
$link = mysql_connect('localhost:/tmp/mysql.sock', 'mysql_user', 'mysql_password');
if (!$link) {
die('接続できませんでした: ' . mysql_error());
}
echo '接続に成功しました';
mysql_close($link);
?>`

## 注意

> 注意: サーバ名に "localhost" や "localhost:port" を指定した場合、MySQL クライアントライブラリはそれをオーバーライドし、 ローカルソケット（Windows では名前つきパイプ）に接続しようとします。 TCP/IP を用いたい場合は、"localhost" のかわりに "127.0.0.1" を用いてください。もし MySQL クライアントライブラリが 間違ったローカルソケットへ接続しようとしている場合、これを修正するには PHP 設定の mysql.default_host string に正しいパスを 指定したうえでサーバ名を空白にしておくべきです。

> 注意: サーバへのリンクは、mysql_close() のコールにより 明示的に閉じられない限り、スクリプトの実行終了と同時に閉じられます。

> 注意: 関数名の前に @ を付けることで 接続に失敗した場合のエラーメッセージを出力しないようにできます。

## 参考

mysql_pconnect()
mysql_close()

前のページ | ホーム | 次のページ
mysql_close | 上に戻る | mysql_create_db