MYSQLI_TYPE_SHORT is used for SMALLINT, not INT
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.
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).