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

# mysqli_real_connect

(PHP 5)

mysqli_real_connect

(no version information, might be only in CVS)

mysqli->real_connect() -- mysql サーバとの接続をオープンする

## 説明

手続き型

bool mysqli_real_connect ( mysqli link [, string host [, string username [, string passwd [, string dbname [, int port [, string socket [, int flags]]]]]]] )

オブジェクト指向型（メソッド）

class mysqli {
bool real_connect ( [string host [, string username [, string passwd [, string dbname [, int port [, string socket [, int flags]]]]]]] )
}

MySQL データベースエンジンとの接続を確立します。

この関数は、以下の点で mysqli_connect() とは異なります。

- mysqli_real_connect() は、 mysqli_init() が作成した接続オブジェクトを必要とします。

- mysqli_options() 関数を使用して、 さまざまな接続オプションを設定することが可能です。

- `flags` パラメータが使用できます。

## パラメータ

`link`

  手続き型のみ: mysqli_connect() あるいは mysqli_init() が返すリンク ID。

`host`

  ホスト名あるいは IP アドレス。`NULL` 値あるいは文字列 "localhost" をこのパラメータに指定すると、ローカルホストを使用します。 使用可能な場合は、TCP/IP プロトコルよりもパイプを優先して使用します。

`username`

  MySQL ユーザ名。

`passwd`

  `NULL` を指定した場合は、MySQL サーバは パスワードを持たないユーザレコードについてのみ認証を試みます。 これにより、同一のユーザ名に対して (パスワードが指定されたか 否かによって) 違う権限を与えることができます。

`dbname`

  指定した場合は、 クエリが行われるデフォルトのデータベースとなります。

`port`

  MySQL サーバに接続する際のポート番号を指定します。

`socket`

  使用するソケットあるいは名前つきパイプを指定します。

  > 注意: `socket` 引数を指定しても、MySQL サーバへの 接続時の型を明示的に定義することにはなりません。MySQL サーバへの 接続方法については `host` 引数で定義されます。

`flags`

  パラメータ `flags` で、接続時のさまざまなオプションを設定します。

  表 1. サポートされるフラグ

  名前 | 説明
  --- | ---
  `MYSQLI_CLIENT_COMPRESS` | 圧縮プロトコルを使用します。
  `MYSQLI_CLIENT_FOUND_ROWS` | 変更された行数ではなく、マッチした行数を返します。
  `MYSQLI_CLIENT_IGNORE_SPACE` | 関数名に続く空白文字を許可します。すべての関数名を予約語とします。
  `MYSQLI_CLIENT_INTERACTIVE` | 接続を閉じるまでのタイムアウト時間として、 (`wait_timeout` のかわりに) `interactive_timeout` の使用を許可します。
  `MYSQLI_CLIENT_SSL` | SSL (暗号化) を使用します。

  > 注意: セキュリティの観点から、PHP では `MULTI_STATEMENT` フラグはサポートされていません。複数のクエリを実行したい場合は、 mysqli_multi_query() 関数を使用してください。

## 返り値

成功した場合に `TRUE` を、失敗した場合に `FALSE` を返します。

## 例

例 1. オブジェクト指向型

`<?php
/* 接続オブジェクトを作成します。まだ接続はしていません */
$mysqli = mysqli_init();
/* 接続オプションを設定します */
$mysqli->options(MYSQLI_INIT_COMMAND, "SET AUTOCOMMIT=0");
$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 5);
/* サーバに接続します */
$mysqli->real_connect('localhost', 'my_user', 'my_password', 'world');
/* 接続状況をチェックします */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
printf ("Connection: %s\n.", $mysqli->host_info);
$mysqli->close();
?>`

例 2. 手続き型

`<?php
/* 接続オブジェクトを作成します。まだ接続はしていません */
$link = mysqli_init();
/* 接続オプションを設定します */
mysqli_options($link, MYSQLI_INIT_COMMAND, "SET AUTOCOMMIT=0");
mysqli_options($link, MYSQLI_OPT_CONNECT_TIMEOUT, 5);
/* サーバに接続します */
mysqli_real_connect($link, 'localhost', 'my_user', 'my_password', 'world');
/* 接続状況をチェックします */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
printf ("Connection: %s\n.", mysqli_get_host_info($link));
mysqli_close($link);
?>`

上の例の出力は以下となります。

    Connection: Localhost via UNIX socket

## 参考

mysqli_connect()
mysqli_init()
mysqli_options()
mysqli_ssl_set()
mysqli_close()

前のページ | ホーム | 次のページ
mysqli_query | 上に戻る | mysqli_real_escape_string