PHP Conference Nagoya 2025

定義済み定数

以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。

MYSQLI_READ_DEFAULT_GROUP (int)

my.cnf の指定した名前のグループか、 あるいは MYSQLI_READ_DEFAULT_FILE で指定したファイルからオプションを読み込みます。

MYSQLI_READ_DEFAULT_FILE (int)

my.cnf のかわりに、指定したファイルからオプションを 読み込みます。

MYSQLI_OPT_CAN_HANDLE_EXPIRED_PASSWORDS (int)
Indicates to the server that the client can handle sandbox mode for expired passwords. Can be used with mysqli_options().
MYSQLI_OPT_LOAD_DATA_LOCAL_DIR (int)
If enabled, this option specifies the directory from which client-side LOCAL data loading is permitted in LOAD DATA LOCAL statements.
MYSQLI_OPT_CONNECT_TIMEOUT (int)

接続のタイムアウトまでの秒数。

MYSQLI_OPT_READ_TIMEOUT (int)

コマンドの実行結果が返ってくるまでのタイムアウト秒数。PHP 7.2.0 以降で利用可能です。

MYSQLI_OPT_LOCAL_INFILE (int)

LOAD LOCAL INFILE コマンドを有効にします。

MYSQLI_OPT_INT_AND_FLOAT_NATIVE (int)

整数型と浮動小数点型のカラムをPHPの数値に変換します。mysqlnd でのみ有効です。

MYSQLI_OPT_NET_CMD_BUFFER_SIZE (int)

内部的なコマンド/ネットワークバッファのサイズを指定します。mysqlnd でのみ有効です。

MYSQLI_OPT_NET_READ_BUFFER_SIZE (int)

MySQL のコマンドパケットのボディ部分を読み取る際の、チャンクサイズをバイト単位で指定します。 mysqlnd でのみ有効です。

MYSQLI_OPT_SSL_VERIFY_SERVER_CERT (int)

MYSQLI_INIT_COMMAND (int)

MySQL サーバーへの接続時に実行するコマンド。 再接続時にも自動的に再実行されます。

MYSQLI_CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS (int)
Indicates to the server that the client can handle sandbox mode for expired passwords. Can be used with mysqli_real_connect().
MYSQLI_CLIENT_FOUND_ROWS (int)
Return number of matched rows, not the number of affected rows.
MYSQLI_CLIENT_SSL_VERIFY_SERVER_CERT (int)
Verify server certificate.
MYSQLI_CLIENT_SSL (int)

SSL(暗号化プロトコル)を使用します。このオプションは、アプリケーション プログラムで指定することはできず、MySQL クライアントライブラリの内部で設定します。

MYSQLI_CLIENT_COMPRESS (int)

圧縮プロトコルを使用します。

MYSQLI_CLIENT_INTERACTIVE (int)

wait_timeout のかわりに)interactive_timeout の秒数を使用できるように します。クライアントセッションの wait_timeout 変数の値は、interactive_timeout 変数の値に設定されます。

MYSQLI_CLIENT_IGNORE_SPACE (int)

関数名に続く空白文字を許可します。すべての関数名を予約語とします。

MYSQLI_CLIENT_NO_SCHEMA (int)

db_name.tbl_name.col_name 形式の使用を禁止します。

MYSQLI_CLIENT_MULTI_QUERIES

セミコロンで区切られた複数のクエリを、 一度の mysqli_query() コールで実行することを許可します。

MYSQLI_STORE_RESULT (int)

結果セットをバッファに格納します。 値は 0 です。

MYSQLI_STORE_RESULT_COPY_DATA (int)
PHP 8.1 以降、この定数はもはや意味をなしません。 PHP 8.1 より前は、 mysqlnd の内部バッファに格納されたフェッチ結果を PHP 変数へコピーするために使用されていました。 デフォルトでは mysqlnd は、メモリ内の結果を 重複させないようにコピーではなく参照ロジックを使用します。 しかし、特定の結果セット、たとえば多数の小さな行を持つ結果セットでは、 PHP 変数を個別で早期に解放できるコピー方式の方が 全体的なメモリ使用量を削減る可能性があります。 mysqlnd のみで利用可能です。 PHP 8.4.0 で非推奨となりました。
MYSQLI_USE_RESULT (int)

結果セットをバッファに格納しません。 値は 1 です。

MYSQLI_ASSOC (int)

行データを、カラム名をインデックスとする配列に格納して返します。

MYSQLI_NUM (int)

行データを、数値インデックスの配列に格納して返します。

MYSQLI_BOTH (int)

行データを、数値インデックス・カラム名インデックスの両方を 保持する配列に格納して返します。

MYSQLI_NOT_NULL_FLAG (int)

フィールドは、NOT NULL と定義されています。

MYSQLI_PRI_KEY_FLAG (int)

フィールドは、プライマリキーの一部です。

MYSQLI_UNIQUE_KEY_FLAG (int)

フィールドは、ユニークキーの一部です。

MYSQLI_MULTIPLE_KEY_FLAG (int)

フィールドは、インデックスの一部です。

MYSQLI_BLOB_FLAG (int)

フィールドは BLOB と定義されています。

MYSQLI_UNSIGNED_FLAG (int)

フィールドは UNSIGNED と定義されています。

MYSQLI_ZEROFILL_FLAG (int)

フィールドは ZEROFILL と定義されています。

MYSQLI_AUTO_INCREMENT_FLAG (int)

フィールドは AUTO_INCREMENT と定義されています。

MYSQLI_TIMESTAMP_FLAG (int)

フィールドは TIMESTAMP と定義されています。

MYSQLI_SET_FLAG (int)

フィールドは SET と定義されています。

MYSQLI_NUM_FLAG (int)

フィールドは NUMERIC と定義されています。

MYSQLI_PART_KEY_FLAG (int)

フィールドは、マルチインデックスの一部です。

MYSQLI_GROUP_FLAG (int)

フィールドは GROUP BY の一部です。

MYSQLI_NO_DEFAULT_VALUE_FLAG (int)
A column has no DEFAULT clause in its definition. This does not apply to NULL or to AUTO_INCREMENT columns because such columns have a default value of NULL and an implied default value respectively.
MYSQLI_TYPE_DECIMAL (int)

フィールドは DECIMAL と定義されています。

MYSQLI_TYPE_NEWDECIMAL (int)

精密な DECIMAL あるいは NUMERIC のフィールドです

MYSQLI_TYPE_BIT (int)

フィールドは BIT と定義されています

MYSQLI_TYPE_TINY (int)

フィールドは TINYINT と定義されています。

MYSQLI_TYPE_SHORT (int)

フィールドは SMALLINT と定義されています。

MYSQLI_TYPE_LONG (int)

フィールドは INT と定義されています。

MYSQLI_TYPE_FLOAT (int)

フィールドは FLOAT と定義されています。

MYSQLI_TYPE_DOUBLE (int)

フィールドは DOUBLE と定義されています。

MYSQLI_TYPE_NULL (int)

フィールドは DEFAULT NULL と定義されています。

MYSQLI_TYPE_TIMESTAMP (int)

フィールドは TIMESTAMP と定義されています。

MYSQLI_TYPE_LONGLONG (int)

フィールドは BIGINT と定義されています。

MYSQLI_TYPE_INT24 (int)

フィールドは MEDIUMINT と定義されています。

MYSQLI_TYPE_DATE (int)

フィールドは DATE と定義されています。

MYSQLI_TYPE_TIME (int)

フィールドは TIME と定義されています。

MYSQLI_TYPE_DATETIME (int)

フィールドは DATETIME と定義されています。

MYSQLI_TYPE_YEAR (int)

フィールドは YEAR と定義されています。

MYSQLI_TYPE_NEWDATE (int)

フィールドは DATE と定義されています。

MYSQLI_TYPE_INTERVAL (int)

MYSQLI_TYPE_ENUM のエイリアスです。 PHP 8.4.0 で削除されました。

MYSQLI_TYPE_ENUM (int)

フィールドは ENUM と定義されています。

MYSQLI_TYPE_SET (int)

フィールドは SET と定義されています。

MYSQLI_TYPE_TINY_BLOB (int)

フィールドは TINYBLOB と定義されています。

MYSQLI_TYPE_MEDIUM_BLOB (int)

フィールドは MEDIUMBLOB と定義されています。

MYSQLI_TYPE_LONG_BLOB (int)

フィールドは LONGBLOB と定義されています。

MYSQLI_TYPE_BLOB (int)

フィールドは BLOB と定義されています。

MYSQLI_TYPE_VAR_STRING (int)

フィールドは VARCHAR あるいは BINARY と定義されています。

MYSQLI_TYPE_STRING (int)

フィールドは STRING と定義されています。

MYSQLI_TYPE_CHAR (int)

フィールドは TINYINT と定義されています。 CHAR については MYSQLI_TYPE_STRING を参照ください。

MYSQLI_TYPE_GEOMETRY (int)

フィールドは GEOMETRY と定義されています。

MYSQLI_TYPE_JSON (int)

フィールドは JSON と定義されています。 mysqlnd のみ有効で、MySQL 5.7.8 以降が必要です。

MYSQLI_TYPE_VECTOR (int)

フィールドは VECTOR と定義されています。

MYSQLI_NEED_DATA

バインド変数に、さらにデータを使用可能です。

MYSQLI_ENUM_FLAG (int)

フィールドが ENUM として定義されています。

MYSQLI_BINARY_FLAG (int)

フィールドが BINARY として定義されています。

MYSQLI_CURSOR_TYPE_FOR_UPDATE (int)

PHP 8.4.0 で削除されました。

MYSQLI_CURSOR_TYPE_NO_CURSOR (int)

MYSQLI_CURSOR_TYPE_READ_ONLY (int)

MYSQLI_CURSOR_TYPE_SCROLLABLE (int)

PHP 8.4.0 で削除されました。

MYSQLI_STMT_ATTR_CURSOR_TYPE (int)

MYSQLI_STMT_ATTR_PREFETCH_ROWS (int)

PHP 8.4.0 で削除されました。

MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH (int)

MYSQLI_SET_CHARSET_NAME (int)

MYSQLI_REPORT_INDEX (int)

クエリ内でインデックスが使われていなかったり間違ったインデックスを使っていたりする場合に報告します。

MYSQLI_REPORT_ERROR (int)

mysqli 関数コールのエラーを報告します。

MYSQLI_REPORT_STRICT (int)

エラー時に、警告の代わりに mysqli_sql_exception をスローします。

MYSQLI_REPORT_ALL (int)

すべてのオプションを有効にします (すべてを報告します)。

MYSQLI_REPORT_OFF (int)

報告を無効にします。

MYSQLI_DEBUG_TRACE_ENABLED (int)

mysqli_debug() 機能が有効の場合に 1 が設定されます。

MYSQLI_SERVER_PUBLIC_KEY (int)

MYSQLI_REFRESH_GRANT (int)

権限テーブルをリフレッシュします。 PHP 8.4.0 で非推奨となりました。

MYSQLI_REFRESH_LOG (int)

ログをフラッシュします。SQLFLUSH LOGS を実行するのと同じです。 PHP 8.4.0 で非推奨となりました。

MYSQLI_REFRESH_TABLES (int)

テーブルキャッシュをフラッシュします。SQLFLUSH TABLES を実行するのと同じです。 PHP 8.4.0 で非推奨となりました。

MYSQLI_REFRESH_HOSTS (int)

ホストキャッシュをフラッシュします。SQLFLUSH HOSTS を実行するのと同じです。 PHP 8.4.0 で非推奨となりました。

MYSQLI_REFRESH_REPLICA (int)

MYSQLI_REFRESH_SLAVE のエイリアスです。 PHP 8.1.0 以降で利用可能です。PHP 8.4.0 で非推奨となりました。

MYSQLI_REFRESH_STATUS (int)

状態変数をリセットします。SQLFLUSH STATUS を実行するのと同じです。 PHP 8.4.0 で非推奨となりました。

MYSQLI_REFRESH_THREADS (int)

スレッドキャッシュをフラッシュします。 PHP 8.4.0 で非推奨となりました。

MYSQLI_REFRESH_SLAVE (int)

レプリケーションのスレーブ側のサーバーで、 マスタサーバーの情報をリセットしてスレーブを再起動します。 SQLRESET SLAVE を実行するのと同じです。 PHP 8.4.0 で非推奨となりました。

MYSQLI_REFRESH_MASTER (int)

レプリケーションのマスタ側のサーバーで、 バイナリログインデックスにあるバイナリログファイルを削除してインデックスファイルを切り詰めます。 SQLRESET MASTER を実行するのと同じです。 PHP 8.4.0 で非推奨となりました。

MYSQLI_REFRESH_BACKUP_LOG (int)
Closes and reopens the backup log files. PHP 8.4.0 で非推奨となりました。
MYSQLI_TRANS_COR_AND_CHAIN (int)

"AND CHAIN" を mysqli_commit() あるいは mysqli_rollback() に追加します。

MYSQLI_TRANS_COR_AND_NO_CHAIN (int)

"AND NO CHAIN" を mysqli_commit() あるいは mysqli_rollback() に追加します。

MYSQLI_TRANS_COR_RELEASE (int)

"RELEASE" を mysqli_commit() あるいは mysqli_rollback() に追加します。

MYSQLI_TRANS_COR_NO_RELEASE (int)

"NO RELEASE" を mysqli_commit() あるいは mysqli_rollback() に追加します。

MYSQLI_TRANS_START_READ_ONLY (int)

mysqli_begin_transaction() で、 トランザクションを "START TRANSACTION READ ONLY" で開始します。

MYSQLI_TRANS_START_READ_WRITE (int)

mysqli_begin_transaction() で、 トランザクションを "START TRANSACTION READ WRITE" で開始します。

MYSQLI_TRANS_START_WITH_CONSISTENT_SNAPSHOT

トランザクションを "START TRANSACTION WITH CONSISTENT SNAPSHOT" で開始します。

MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT (int)

MySQL 5.6.5 以降が必要です。

MYSQLI_IS_MARIADB (bool)

mysqli 拡張モジュールが MariaDB クライアントライブラリを使ってビルドされているかどうか。 PHP 8.1.2 以降が必要です。

MYSQLI_ASYNC (int)
The query is performed asynchronously and no result set is immediately returned. Available with mysqlnd only.
MYSQLI_ON_UPDATE_NOW_FLAG (int)
If a field is updated it will get the current time value.
add a note

User Contributed Notes 2 notes

up
1
Anonymous
16 years ago
MYSQLI_TYPE_SHORT is used for SMALLINT, not INT
up
-2
jeriba4 at googlemail dot com
11 years ago
Note that although CHAR is an explicite string type within MySQL,
MYSQLI_TYPE_CHAR is interpreted the same way as MYSQLI_TYPE_TINY, which is the TINYINT numeric type within MySQL.
As a consequence, you cannot distinguish these two column types by using their respective type index, as both are set to integer one (1).
To Top