PHPerKaigi 2024

Predefined Constants

The constants below are defined by this extension, and will only be available when the extension has either been compiled into PHP or dynamically loaded at runtime.

MYSQLI_READ_DEFAULT_GROUP (int)

Read options from the named group from my.cnf or the file specified with MYSQLI_READ_DEFAULT_FILE

MYSQLI_READ_DEFAULT_FILE (int)

Read options from the named option file instead of from my.cnf

MYSQLI_OPT_CONNECT_TIMEOUT (int)

Connect timeout in seconds

MYSQLI_OPT_READ_TIMEOUT (int)

Command execution result timeout in seconds. Available as of PHP 7.2.0.

MYSQLI_OPT_LOCAL_INFILE (int)

Enables command LOAD LOCAL INFILE

MYSQLI_OPT_INT_AND_FLOAT_NATIVE (int)

Convert integer and float columns back to PHP numbers. Only valid for mysqlnd.

MYSQLI_OPT_NET_CMD_BUFFER_SIZE (int)

The size of the internal command/network buffer. Only valid for mysqlnd.

MYSQLI_OPT_NET_READ_BUFFER_SIZE (int)

Maximum read chunk size in bytes when reading the body of a MySQL command packet. Only valid for mysqlnd.

MYSQLI_OPT_SSL_VERIFY_SERVER_CERT (int)

Requires MySQL 5.1.10 and up

MYSQLI_INIT_COMMAND (int)

Command to execute when connecting to MySQL server. Will automatically be re-executed when reconnecting.

MYSQLI_CLIENT_SSL (int)

Use SSL (encrypted protocol). This option should not be set by application programs; it is set internally in the MySQL client library

MYSQLI_CLIENT_COMPRESS (int)

Use compression protocol

MYSQLI_CLIENT_INTERACTIVE (int)

Allow interactive_timeout seconds (instead of wait_timeout seconds) of inactivity before closing the connection. The client's session wait_timeout variable will be set to the value of the session interactive_timeout variable.

MYSQLI_CLIENT_IGNORE_SPACE (int)

Allow spaces after function names. Makes all functions names reserved words.

MYSQLI_CLIENT_NO_SCHEMA (int)

Don't allow the db_name.tbl_name.col_name syntax.

MYSQLI_CLIENT_MULTI_QUERIES

Allows multiple semicolon-delimited queries in a single mysqli_query() call.

MYSQLI_STORE_RESULT (int)

For using buffered result sets. It has a value of 0.

MYSQLI_USE_RESULT (int)

For using unbuffered result sets. It has a value of 1.

MYSQLI_ASSOC (int)

Columns are returned into the array having the fieldname as the array index.

MYSQLI_NUM (int)

Columns are returned into the array having an enumerated index.

MYSQLI_BOTH (int)

Columns are returned into the array having both a numerical index and the fieldname as the associative index.

MYSQLI_NOT_NULL_FLAG (int)

Indicates that a field is defined as NOT NULL

MYSQLI_PRI_KEY_FLAG (int)

Field is part of a primary index

MYSQLI_UNIQUE_KEY_FLAG (int)

Field is part of a unique index.

MYSQLI_MULTIPLE_KEY_FLAG (int)

Field is part of an index.

MYSQLI_BLOB_FLAG (int)

Field is defined as BLOB

MYSQLI_UNSIGNED_FLAG (int)

Field is defined as UNSIGNED

MYSQLI_ZEROFILL_FLAG (int)

Field is defined as ZEROFILL

MYSQLI_AUTO_INCREMENT_FLAG (int)

Field is defined as AUTO_INCREMENT

MYSQLI_TIMESTAMP_FLAG (int)

Field is defined as TIMESTAMP

MYSQLI_SET_FLAG (int)

Field is defined as SET

MYSQLI_NUM_FLAG (int)

Field is defined as NUMERIC

MYSQLI_PART_KEY_FLAG (int)

Field is part of an multi-index

MYSQLI_GROUP_FLAG (int)

Field is part of GROUP BY

MYSQLI_TYPE_DECIMAL (int)

Field is defined as DECIMAL

MYSQLI_TYPE_NEWDECIMAL (int)

Precision math DECIMAL or NUMERIC field (MySQL 5.0.3 and up)

MYSQLI_TYPE_BIT (int)

Field is defined as BIT (MySQL 5.0.3 and up)

MYSQLI_TYPE_TINY (int)

Field is defined as TINYINT

MYSQLI_TYPE_SHORT (int)

Field is defined as SMALLINT

MYSQLI_TYPE_LONG (int)

Field is defined as INT

MYSQLI_TYPE_FLOAT (int)

Field is defined as FLOAT

MYSQLI_TYPE_DOUBLE (int)

Field is defined as DOUBLE

MYSQLI_TYPE_NULL (int)

Field is defined as DEFAULT NULL

MYSQLI_TYPE_TIMESTAMP (int)

Field is defined as TIMESTAMP

MYSQLI_TYPE_LONGLONG (int)

Field is defined as BIGINT

MYSQLI_TYPE_INT24 (int)

Field is defined as MEDIUMINT

MYSQLI_TYPE_DATE (int)

Field is defined as DATE

MYSQLI_TYPE_TIME (int)

Field is defined as TIME

MYSQLI_TYPE_DATETIME (int)

Field is defined as DATETIME

MYSQLI_TYPE_YEAR (int)

Field is defined as YEAR

MYSQLI_TYPE_NEWDATE (int)

Field is defined as DATE

MYSQLI_TYPE_INTERVAL (int)

Field is defined as INTERVAL

MYSQLI_TYPE_ENUM (int)

Field is defined as ENUM

MYSQLI_TYPE_SET (int)

Field is defined as SET

MYSQLI_TYPE_TINY_BLOB (int)

Field is defined as TINYBLOB

MYSQLI_TYPE_MEDIUM_BLOB (int)

Field is defined as MEDIUMBLOB

MYSQLI_TYPE_LONG_BLOB (int)

Field is defined as LONGBLOB

MYSQLI_TYPE_BLOB (int)

Field is defined as BLOB

MYSQLI_TYPE_VAR_STRING (int)

Field is defined as VARCHAR

MYSQLI_TYPE_STRING (int)

Field is defined as CHAR or BINARY

MYSQLI_TYPE_CHAR (int)

Field is defined as TINYINT. For CHAR, see MYSQLI_TYPE_STRING

MYSQLI_TYPE_GEOMETRY (int)

Field is defined as GEOMETRY

MYSQLI_TYPE_JSON (int)

Field is defined as JSON. Only valid for mysqlnd and MySQL 5.7.8 and up.

MYSQLI_NEED_DATA

More data available for bind variable

MYSQLI_NO_DATA (int)

No more data available for bind variable

MYSQLI_DATA_TRUNCATED (int)

Data truncation occurred. Available since MySQL 5.0.5.

MYSQLI_ENUM_FLAG (int)

Field is defined as ENUM.

MYSQLI_BINARY_FLAG (int)

Field is defined as BINARY.

MYSQLI_CURSOR_TYPE_FOR_UPDATE (int)

MYSQLI_CURSOR_TYPE_NO_CURSOR (int)

MYSQLI_CURSOR_TYPE_READ_ONLY (int)

MYSQLI_CURSOR_TYPE_SCROLLABLE (int)

MYSQLI_STMT_ATTR_CURSOR_TYPE (int)

MYSQLI_STMT_ATTR_PREFETCH_ROWS (int)

MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH (int)

MYSQLI_SET_CHARSET_NAME (int)

MYSQLI_REPORT_INDEX (int)

Report if no index or bad index was used in a query.

MYSQLI_REPORT_ERROR (int)

Report errors from mysqli function calls.

MYSQLI_REPORT_STRICT (int)

Throw a mysqli_sql_exception for errors instead of warnings.

MYSQLI_REPORT_ALL (int)

Set all options on (report all).

MYSQLI_REPORT_OFF (int)

Turns reporting off.

MYSQLI_DEBUG_TRACE_ENABLED (int)

Is set to 1 if mysqli_debug() functionality is enabled.

MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED (int)

MYSQLI_SERVER_QUERY_NO_INDEX_USED (int)

MYSQLI_SERVER_PUBLIC_KEY (int)

MYSQLI_REFRESH_GRANT (int)

Refreshes the grant tables.

MYSQLI_REFRESH_LOG (int)

Flushes the logs, like executing the FLUSH LOGS SQL statement.

MYSQLI_REFRESH_TABLES (int)

Flushes the table cache, like executing the FLUSH TABLES SQL statement.

MYSQLI_REFRESH_HOSTS (int)

Flushes the host cache, like executing the FLUSH HOSTS SQL statement.

MYSQLI_REFRESH_REPLICA (int)

Alias of MYSQLI_REFRESH_SLAVE constant. Available as of PHP 8.1.0.

MYSQLI_REFRESH_STATUS (int)

Reset the status variables, like executing the FLUSH STATUS SQL statement.

MYSQLI_REFRESH_THREADS (int)

Flushes the thread cache.

MYSQLI_REFRESH_SLAVE (int)

On a slave replication server: resets the master server information, and restarts the slave. Like executing the RESET SLAVE SQL statement.

MYSQLI_REFRESH_MASTER (int)

On a master replication server: removes the binary log files listed in the binary log index, and truncates the index file. Like executing the RESET MASTER SQL statement.

MYSQLI_TRANS_COR_AND_CHAIN (int)

Appends "AND CHAIN" to mysqli_commit() or mysqli_rollback().

MYSQLI_TRANS_COR_AND_NO_CHAIN (int)

Appends "AND NO CHAIN" to mysqli_commit() or mysqli_rollback().

MYSQLI_TRANS_COR_RELEASE (int)

Appends "RELEASE" to mysqli_commit() or mysqli_rollback().

MYSQLI_TRANS_COR_NO_RELEASE (int)

Appends "NO RELEASE" to mysqli_commit() or mysqli_rollback().

MYSQLI_TRANS_START_READ_ONLY (int)

Start the transaction as "START TRANSACTION READ ONLY" with mysqli_begin_transaction().

MYSQLI_TRANS_START_READ_WRITE (int)

Start the transaction as "START TRANSACTION READ WRITE" with mysqli_begin_transaction().

MYSQLI_TRANS_START_CONSISTENT_SNAPSHOT

Start the transaction as "START TRANSACTION WITH CONSISTENT SNAPSHOT" with mysqli_begin_transaction().

MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT (int)

Requires MySQL 5.6.5 and up.

MYSQLI_IS_MARIADB (bool)

Whether the mysqli extension has been built against a MariaDB client library. Available as of PHP 8.1.2.

add a note

User Contributed Notes 2 notes

up
0
Anonymous
15 years ago
MYSQLI_TYPE_SHORT is used for SMALLINT, not INT
up
-4
jeriba4 at googlemail dot com
10 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