预定义常量
下列常量由此扩展定义,且仅在此扩展编译入 PHP 或在运行时动态载入时可用。
-
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_CAN_HANDLE_EXPIRED_PASSWORDS(int) - 向服务器表明客户端可以为过期密码处理沙盒模式。可与 mysqli_options() 一起使用。
-
MYSQLI_OPT_LOAD_DATA_LOCAL_DIR(int) -
如果启用,此选项将指定在
LOAD DATA LOCAL语句中允许客户端指定LOCAL数据加载的目录。 -
MYSQLI_OPT_CONNECT_TIMEOUT(int) -
连接超时(秒)。
-
MYSQLI_OPT_READ_TIMEOUT(int) -
Command execution result timeout in seconds. Available as of PHP 7.2.0.
-
MYSQLI_OPT_LOCAL_INFILE(int) -
启用命令
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) -
-
MYSQLI_INIT_COMMAND(int) -
Command to execute when connecting to MySQL server. Will automatically be re-executed when reconnecting.
-
MYSQLI_CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS(int) - 向服务器表明客户端可以为过期密码处理沙盒模式。可与 mysqli_real_connect() 一起使用。
-
MYSQLI_CLIENT_FOUND_ROWS(int) - 返回匹配的行数,而不是受影响的行数。
-
MYSQLI_CLIENT_SSL_VERIFY_SERVER_CERT(int) - 验证服务器证书。
-
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) -
使用压缩协议。
-
MYSQLI_CLIENT_INTERACTIVE(int) -
Allow
interactive_timeoutseconds (instead ofwait_timeoutseconds) of inactivity before closing the connection. The client's sessionwait_timeoutvariable will be set to the value of the sessioninteractive_timeoutvariable. -
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_namesyntax. 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。 -
MYSQLI_USE_RESULT(int) -
使用无缓冲的结果集合。值为
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) -
表示字段定义为
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) -
列的定义中没有
DEFAULT子句。这不适用于NULL或AUTO_INCREMENT列,因为这些列的默认值有NULL默认值和隐式默认值。 -
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。 -
MYSQLI_TYPE_STRING(int) -
字段定义为
CHAR或BINARY。 -
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_NEED_DATA(int) -
More data available for bind variable.
-
MYSQLI_ENUM_FLAG(int) -
字段定义为
ENUM。 -
MYSQLI_BINARY_FLAG(int) -
字段定义为
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) -
如果在查询中没有使用索引或使用了坏索引,则会报告。
-
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) -
刷新授权表。
-
MYSQLI_REFRESH_LOG(int) -
刷新日志,就像执行
FLUSH LOGSSQL 语句。 -
MYSQLI_REFRESH_TABLES(int) -
刷新表缓存,就像执行
FLUSH TABLESSQL 语句。 -
MYSQLI_REFRESH_HOSTS(int) -
刷新主机缓存,就像执行刷新
FLUSH HOSTSSQL 语句一样。 -
MYSQLI_REFRESH_REPLICA(int) -
MYSQLI_REFRESH_SLAVE常量的别名。自 PHP 8.1.0 起可用。 -
MYSQLI_REFRESH_STATUS(int) -
重置状态变量,如执行
FLUSH STATUSSQL 语句。 -
MYSQLI_REFRESH_THREADS(int) -
刷新线程缓存。
-
MYSQLI_REFRESH_SLAVE(int) -
在从复制服务器上:重置主服务器信息,并重新启动从服务器。就像执行
RESET SLAVESQL 语句一样。 -
MYSQLI_REFRESH_MASTER(int) -
在主复制服务器上:删除二进制日志索引中列出的二进制日志文件,并截断索引文件。就像执行
RESET MASTERSQL 语句一样。 -
MYSQLI_REFRESH_BACKUP_LOG(int) - 关闭并重新打开备份日志文件。
-
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(int) -
“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) -
查询是异步执行,不会立即返回结果集。仅适用于
mysqlnd。 -
MYSQLI_ON_UPDATE_NOW_FLAG(int) - 如果更新了某个字段,将获取当前时间值。
用户贡献的备注 2 notes
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).