以下の関数は、MySQLデータベースサーバーへのアクセスを可能にします。
MySQLに関するより詳細な情報は、
http://www.mysql.com/
にあります。
MySQL のドキュメントは、
http://www.mysql.com/documentation/
にあります。
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
にはこの拡張モジュールのサポートが組み込まれています。これらの関数を使用するために拡張モジュールを追加でロードする必要はありません。
警告 |
|
これらの関数の動作は、
php.ini
の設定により変化します。
表 1MySQL設定オプション
名前 | デフォルト | 変更の可否 |
---|---|---|
mysql.allow_persistent | "On" | PHP_INI_SYSTEM |
mysql.max_persistent | "-1" | PHP_INI_SYSTEM |
mysql.max_links | "-1" | PHP_INI_SYSTEM |
mysql.default_port | NULL | PHP_INI_ALL |
mysql.default_socket | NULL | PHP_INI_ALL |
mysql.default_host | NULL | PHP_INI_ALL |
mysql.default_user | NULL | PHP_INI_ALL |
mysql.default_password | NULL | PHP_INI_ALL |
mysql.connect_timeout | "0" | PHP_INI_SYSTEM |
以下に設定ディレクティブの簡単な説明を示します。
MySQLへの
持続的接続
を可能にするかどうか。
プロセス毎の持続的MySQL接続の最大数。
持続的接続を含むプロセス毎のMySQL接続の最大数。
他のポートが指定されない場合、データベースサーバ接続時に使用され
るデフォルトのTCPポート番号。デフォルトが指定されない場合、ポー トは、環境変数
MYSQL_TCP_PORT
、
/etc/services
の
mysql-tcp
エントリ、コンパイル時の
MYSQL_PORT
定数の順番で取得されます。 Win32では、
MYSQL_PORT
定数のみが使用されます。
他にソケット名が指定されない場合、ローカルなデータベースサーバに
接続する時のデフォルトのソケット名。
他のサーバ名が指定されない場合に、データベースサーバへの接続時
に使用されるデフォルトのサーバ名。
safe mode
では適用されません。
他のユーザ名が指定されない場合に、データベースサーバへの接続時
に使用されるデフォルトのユーザ名。
safe mode
では適用されません。
他のパスワードが指定されない場合に、データベースサーバへの接続時
に使用されるデフォルトのパスワード。
safe mode
では適用されません。
接続の有効時間(単位:秒)。Linuxでは、この有効時間はサーバからの最
初の応答の待ち時間としても使用されます。
これらの定数は、この拡張モジュールで定義されており、
この拡張モジュールが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
constant | description |
---|---|
MYSQL_CLIENT_COMPRESS | use compression protocol |
MYSQL_CLIENT_IGNORE_SPACE | Allow space after function names |
MYSQL_CLIENT_INTERACTIVE | Allow interactive_timeout seconds (instead of wait_timeout) of inactivity before closing the connection. |
The function
mysql_fetch_array()
uses a constant for the different types of result
arrays. The following constants are defined:
表 3MySQL fetch constants
constant | description |
---|---|
MYSQL_ASSOC | Columns are returned into the array having the fieldname as the array index. |
MYSQL_BOTH | Columns are returned into the array having both a numerical index and the fieldname as the array index. |
MYSQL_NUM | Columns are returned into the array having a numerical index to the fields. This index starts with 0, the first field in the result. |
以下は、MySQLデータベースに接続し、クエリを実行し、結果レコードを
出力、接続を断する例です。