mysqli拡張サポートによってMySQL4.1以上で提供される機能を利用することが できるようになります。MySQLデータベースサーバに関する詳細は http://www.mysql.com/をご覧ください。
MySQLに関するドキュメントは http://dev.mysql.com/doc/ にあります。
このドキュメントの一部は、MySQL ABの許可を得てMySQLマニュアルから引用 したものです。
これらの関数を有効にするには、mysqli拡張サポートを 有効にしてPHPをコンパイルする必要があります。
注意: mysqli拡張サポートはMySQL 4.1.2以上で動作するよう設計されています。 それ以前のバージョンについてはMySQL 拡張サポートのドキュメントをご覧ください。
PHPにmysqli拡張サポートを追加するには、 --with-mysqli=mysql_config_path オプションを指定してPHPをコンパイルする必要があります。 mysql_config_pathにはMySQL4.1以上に付属する mysql_configプログラムが存在するパスを 指定してください。同時に、--without-mysqlオプションを 使って標準のMySQL拡張 (これはデフォルトでコンパイルされます)をはずしてください。 mysqli拡張サポートと標準のmysql拡張を共存させる形でインストールしたい 場合には、PHPにバンドルされているlibmysqlライブラリは使用できません。 代わりにMySQL4.1未満でインストールされるクライアントライブラリを 使用してください。これにより何ら衝突させることなく MySQLでインストールされるクライアントライブラリをPHPが強制的に 使用するようにできます。
これらの関数の動作は、php.iniの設定により変化します。
表 1. MySQLi 設定オプション
名前 | デフォルト | 変更の可否 |
---|---|---|
mysqli.max_links | "-1" | PHP_INI_SYSTEM |
mysqli.default_port | NULL | PHP_INI_ALL |
mysqli.default_socket | NULL | PHP_INI_ALL |
mysqli.default_host | NULL | PHP_INI_ALL |
mysqli.default_user | NULL | PHP_INI_ALL |
mysqli.default_pw | NULL | PHP_INI_ALL |
PHP_INI_* 定数の詳細と定義については、 設定の変更 を参照してください。
以下に設定ディレクティブに関す る簡単な説明を示します。
持続的接続を含むプロセス毎の MySQL接続の最大数。
他のポートが指定されない場合、データベースサーバ接続時に 使用されるデフォルトのTCPポート番号。デフォルトが指定されない 場合、ポートは、環境変数MYSQL_TCP_PORT、 /etc/servicesの mysql-tcpエントリ、コンパイル時の MYSQL_PORT定数の順番で取得されます。 Win32では、MYSQL_PORT定数のみが使用されます。
他にソケット名が指定されない場合、ローカルな データベースサーバに接続する時のデフォルトのソケット名。
他のサーバ名が指定されない場合に、データベースサーバへの接続時に 使用されるデフォルトのサーバ名。 safe modeでは適用されません。
他のユーザ名が指定されない場合に、データベースサーバへの接続時に 使用されるデフォルトのユーザ名。 safe modeでは適用されません。
他のパスワードが指定されない場合に、データベースサーバへの接続時に 使用されるデフォルトのパスワード。 safe modeでは適用されません。
PHPとMySQLデータベースの間の接続を表します。
autocommit() - データベース変更時のオートコミットをオンまたはオフにします
change_user() - 指定したデータベース接続のユーザを変更します
character_set_name - データベース接続のデフォルトの文字セットを返します
close - オープンされている接続をクローズします
commit - カレントのトランザクションをコミットします
connect - MySQLデータベースサーバーへの新規接続をオープンします
debug - デバッグ処理を行います
dump_debug_info - デバッグ情報をダンプします
get_client_info - クライアントのバージョンを返します
get_host_info - 使用されている接続の型を返します
get_server_info - MySQLサーバーのバージョンを返します
init - mysqliオブジェクトを初期化します
info - 直近に実行されたクエリに関する情報を取得します
kill - 指定したMySQLスレッドをキルするようサーバーに指示します
multi_query - 複数のクエリを実行します
more_results - 実行した複数のクエリについて結果がまだ残ってるかどうかを確認します
next_result - 実行した複数のクエリから次の結果を読み込みます
options - オプションを設定します
ping - 指定したサーバー接続にpingを行い、接続がない場合には再接続します
prepare - SQLクエリをパースします
query - クエリを実行します
real_connect - MySQLデータベースサーバーへの接続をオープンします
escape_string - 接続に使用する文字セットを考慮してSQL命令が含まれる文字列の中の特殊文字をエスケープします
rollback - カレントのトランザクションをロールバックします
select_db - デフォルトのデータベースを選択します
set_opt - オプションを設定します
ssl_set - SSLパラメータを設定します
stat - カレントのシステムステータスを取得します
store_result - 直近のクエリから結果セットを伝送します
use_result - 直近のクエリからバッファリングされていない結果セットを伝送します
thread-safe - スレッドセーフかどうかを返します
affected_rows - gets the number of affected rows in a previous MySQL operation
errno - returns the error code for the most recent function call
error - returns the error string for the most recent function call
field_count - returns the number of columns for the most recent query
host_info - returns a string representing the type of connection used
info - retrieves information about the most recently executed query
insert-id - returns the auto generated id used in the last query
protocol_version - returns the version of the MySQL protocol used
sqlstate - returns a string containing the SQLSTATE error code for the last error
thread_id - returns the thread ID for the current connection
warning-count - returns the number of warnings generated during execution of the previous SQL statement
パースされた命令を表します。
bind_param - Binds variables to a prepared statement
bind_result - Binds variables to a prepared statement for result storage
close - Closes a prepared statement
data-seek - Seeks to an arbitrary row in a statement result set
execute - Executes a prepared statement
fetch - Fetches result from a prepared statement into bound variables
get_metadata - Retrieves a resultset from a prepared statement for metadata information
send_long_data - Sends data in chunks
store_result - Buffers complete resultset from a prepared statement
affected_rows - Returns affected rows from last statement execution
field_count - Returns number of fields for a given prepared statement
errno - Returns errorcode for last statement function
errno - Returns errormessage for last statement function
param_count - Returns number of parameter for a given prepare statement
sqlstate - returns a string containing the SQLSTATE error code for the last statement function
データベースへのクエリにより得られた結果セットを表します。
close - closes resultset
data_seek - moves internal result pointer
fetch_field - gets column information from a resultset
fetch_fields - gets information for all columns from a resulset
fetch_field_direct - gets column information for specified column
fetch_array - fetches a result row as an associative array, a numeric array, or both.
fetch_assoc - fetches a result row as an associative array
fetch_object - fetches a result row as an object
fetch_row - gets a result row as an enumerated array
close - frees result memory
field_seek - set result pointer to a specified field offset
current_field - returns offset of current fieldpointer
field_count - returns number of fields in resultset
num_rows - returns number of rows in resultset
表 2. MySQLi 定数
定数名 | 説明 |
---|---|
MYSQLI_READ_DEFAULT_GROUP (integer) | |
MYSQLI_READ_DEFAULT_FILE (integer) | |
MYSQLI_OPT_CONNECT_TIMEOUT (integer) | |
MYSQLI_OPT_LOCAL_INFILE (integer) | |
MYSQLI_INIT_COMMAND (integer) | |
MYSQLI_CLIENT_SSL (integer) | |
MYSQLI_CLIENT_COMPRESS (integer) | |
MYSQLI_CLIENT_INTERACTIVE (integer) | |
MYSQLI_CLIENT_IGNORE_SPACE (integer) | |
MYSQLI_CLIENT_NO_SCHEMA (integer) | |
MYSQLI_CLIENT_MULTI_QUERIES (integer) | |
MYSQLI_STORE_RESULT (integer) | |
MYSQLI_USE_RESULT (integer) | |
MYSQLI_ASSOC (integer) | |
MYSQLI_NUM (integer) | |
MYSQLI_BOTH (integer) | |
MYSQLI_NOT_NULL_FLAG (integer) | |
MYSQLI_PRI_KEY_FLAG (integer) | |
MYSQLI_UNIQUE_KEY_FLAG (integer) | |
MYSQLI_MULTIPLE_KEY_FLAG (integer) | |
MYSQLI_BLOB_FLAG (integer) | |
MYSQLI_UNSIGNED_FLAG (integer) | |
MYSQLI_ZEROFILL_FLAG (integer) | |
MYSQLI_AUTO_INCREMENT_FLAG (integer) | |
MYSQLI_TIMESTAMP_FLAG (integer) | |
MYSQLI_SET_FLAG (integer) | |
MYSQLI_NUM_FLAG (integer) | |
MYSQLI_PART_KEY_FLAG (integer) | |
MYSQLI_GROUP_FLAG (integer) | |
MYSQLI_TYPE_DECIMAL (integer) | |
MYSQLI_TYPE_TINY (integer) | |
MYSQLI_TYPE_SHORT (integer) | |
MYSQLI_TYPE_LONG (integer) | |
MYSQLI_TYPE_FLOAD (integer) | |
MYSQLI_TYPE_DOUBLE (integer) | |
MYSQLI_TYPE_NULL (integer) | |
MYSQLI_TYPE_TIMESTAMP (integer) | |
MYSQLI_TYPE_LONGLONG (integer) | |
MYSQLI_TYPE_INT24 (integer) | |
MYSQLI_TYPE_DATE (integer) | |
MYSQLI_TYPE_TIME (integer) | |
MYSQLI_TYPE_DATETIME (integer) | |
MYSQLI_TYPE_YEAR (integer) | |
MYSQLI_TYPE_NEWDATE (integer) | |
MYSQLI_TYPE_ENUM (integer) | |
MYSQLI_TYPE_SET (integer) | |
MYSQLI_TYPE_TINY_BLOB (integer) | |
MYSQLI_TYPE_MEDIUM_BLOB (integer) | |
MYSQLI_TYPE_LONG_BLOB (integer) | |
MYSQLI_TYPE_BLOB (integer) | |
MYSQLI_TYPE_VAR_STRING (integer) | |
MYSQLI_TYPE_STRING (integer) | |
MYSQLI_TYPE_CHAR (integer) | |
MYSQLI_TYPE_INTERVAL (integer) | |
MYSQLI_TYPE_GEOMETRY (integer) | |
MYSQLI_BIND_STRING (integer) | |
MYSQLI_BIND_INT (integer) | |
MYSQLI_BIND_DOUBLE (integer) | |
MYSQLI_BIND_SEND_DATA (integer) | |
MYSQLI_RPL_MASTER (integer) | |
MYSQLI_RPL_SLAVE (integer) | |
MYSQLI_RPL_ADMIN (integer) | |
MYSQLI_NEED_DATA (integer) | |
MYSQLI_NO_DATA (integer) | |
MYSQLI_PR_REPORT_STDERR (integer) | |
MYSQLI_PR_REPORT_PORT (integer) | |
MYSQLI_PR_REPORT_FILE (integer) |