以下の関数は、MySQLデータベースサーバーへのアクセスを可能にします。 MySQLに関するより詳細な情報は、 http://www.mysql.com/ にあります。
MySQL のドキュメントは、 http://www.mysql.com/documentation/ にあります。
以下の関数を利用可能とするには、MySQLサポートを指定してPHPをコン パイルする必要があります。
MySQLデータベースに接続するには、 --with-mysql[=DIR] オプションを使 用して PHP をコンパイルする必要があります。 MySQLのパスを指定せずにこのオプションを使用する場合、 PHP は付属MySQLクライアントライブラリを使用します。 (例えば、PHP 3 および PHP 4 を Apache モジュールとして並列実行したり、 auth_mysql を実行する場合)MySQLを使用する他のアプリケーションを実行 するユーザは常にMySQLへのパスを次のように指定する必要があります。 --with-mysql=/path/to/mysql これにより、MySQLによりインストールされたクライアントライブラリの 使用を混乱することなく PHP に強制的に指定可能です。
Windows版の PHP にはこの拡張モジュールのサポートが組み込まれています。これらの関数を使用するために拡張モジュールを追加でロードする必要はありません。
この拡張モジュールをrecode拡張モジュールと組み合わせてロードした際 に、 PHP のクラッシュ発生または起動に問題を発生す る可能性があります。詳細な情報については、 recode 拡張モジュールを参照して下 さい。
これらの関数の動作は、 php.ini の設定により変化します。
表 1MySQL設定オプション
以下に設定ディレクティブの簡単な説明を示します。
MySQLへの 持続的接続 を可能にするかどうか。
プロセス毎の持続的MySQL接続の最大数。
持続的接続を含むプロセス毎のMySQL接続の最大数。
他のポートが指定されない場合、データベースサーバ接続時に使用され るデフォルトのTCPポート番号。デフォルトが指定されない場合、ポー トは、環境変数 MYSQL_TCP_PORT 、 /etc/services の mysql-tcp エントリ、コンパイル時の MYSQL_PORT 定数の順番で取得されます。 Win32では、 MYSQL_PORT 定数のみが使用されます。
他にソケット名が指定されない場合、ローカルなデータベースサーバに 接続する時のデフォルトのソケット名。
他のサーバ名が指定されない場合に、データベースサーバへの接続時 に使用されるデフォルトのサーバ名。 safe mode では適用されません。
他のユーザ名が指定されない場合に、データベースサーバへの接続時 に使用されるデフォルトのユーザ名。 safe mode では適用されません。
他のパスワードが指定されない場合に、データベースサーバへの接続時 に使用されるデフォルトのパスワード。 safe mode では適用されません。
接続の有効時間(単位:秒)。Linuxでは、この有効時間はサーバからの最 初の応答の待ち時間としても使用されます。
MySQLモジュールでは、2種類のリソース型が使用されています。 最初のリソースはデータベース接続のリンクIDで、2番目のリソースは、 クエリ結果を保持するリソースです。
これらの定数は、この拡張モジュールで定義されており、 この拡張モジュールがPHP内部にコンパイルされているか実行時に動的にロー ドされるかのどちらかの場合のみ使用可能です。
Since PHP 4.3.0 it is possible to specify additional client flags for the mysql_connect() and mysql_pconnect() functions. The following constants are defined:
表 2MySQL client constants
The function mysql_fetch_array() uses a constant for the different types of result arrays. The following constants are defined:
表 3MySQL fetch constants
以下は、MySQLデータベースに接続し、クエリを実行し、結果レコードを 出力、接続を断する例です。
例 1MySQL拡張モジュールに関する例