MySQL サーバーへの持続的な接続をオープンする

# mysql_pconnect

(PHP 4, PHP 5)

mysql_pconnect — MySQL サーバーへの持続的な接続をオープンする

警告

この拡張モジュールは PHP 5.5.0 で非推奨になり、PHP 7.0.0 で削除されました。 MySQLi あるいは PDO_MySQL を使うべきです。詳細な情報は MySQL: API の選択 や それに関連する FAQ を参照ください。 この関数の代替として、これらが使えます。

- mysqli_connect() にホストプレフィックス p: を指定
- PDO::__construct() のドライバオプションで `PDO::ATTR_PERSISTENT` を指定

### 説明

mysql_pconnect ([ string `$server` = ini_get("mysql.default_host") [, string `$username` = ini_get("mysql.default_user") [, string `$password` = ini_get("mysql.default_password") [, int `$client_flags` = 0 ]]]] ) : resource

MySQL サーバーとの持続的な接続を確立します。

mysql_pconnect()は、 mysql_connect()とよく似た動作をしますが、 2 つの大きな違いがあります。

1 番目の違いとして、この関数は接続時にまず 同じホスト、ユーザー名、パスワードを有する(持続的)リンクが すでにオープンされていないかどうかを調べます。 それがみつかった場合、新規の接続をオープンする代わりに そのリンクの ID が返されます。

2 番目の違いは、スクリプトの実行が終了しても SQL サーバーとの接続が 閉じられないということです。そのかわりに、将来再利用されるために リンクがオープンされたままとなります（mysql_close() は、mysql_pconnect() によって確立されたリンクを 閉じません）。

このため、この型のリンクは、'持続的(persistent)'であると言われます。

### パラメータ

`server`

  MySQL サーバー。"hostname:port" のようにポート番号を 指定することが可能で、localhost では ":/path/to/socket" のようにソケットへのパスを指定することも可能です。

  PHP ディレクティブ mysql.default_host が指定されない場合（デフォルト）、 'localhost:3306' が使用されます。

`username`

  ユーザー名。デフォルト値はサーバープロセスの所有ユーザー名です。

`password`

  パスワード。デフォルト値は空のパスワードです。

`client_flags`

  パラメータ `client_flags` は、 以下の定数の組み合わせです： 128 (LOAD DATA LOCAL の処理を有効にする)、 `MYSQL_CLIENT_SSL`、 `MYSQL_CLIENT_COMPRESS`、 `MYSQL_CLIENT_IGNORE_SPACE` または `MYSQL_CLIENT_INTERACTIVE`

### 返り値

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

### 変更履歴

バージョン | 説明
--- | ---
5.5.0 | この関数は `E_DEPRECATED` エラーを発するようになりました。

### 注意

> 注意:

> この接続方法は、モジュールバージョンの PHP でのみ使用可能であることに 注意しましょう。詳しい情報は 持続的 データベース接続 を参照ください。

警告

持続的接続を利用する場合、MySQL の同時接続数の制限をこえないように Apache や MySQL の設定を多少変更する必要があるかも知れません。

> 注意:

> 関数名の前に @ を追加すると、失敗した場合のエラーメッセージを抑制できます。

### 参考

- mysql_connect() - MySQL サーバーへの接続をオープンする
- Persistent Database Connections