预定义常量

以下常量由此扩展定义,只有在扩展已编译到 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)
指示服务器客户端可以处理已过期密码的沙箱模式。可以与 mysqli_options() 一起使用。
MYSQLI_OPT_LOAD_DATA_LOCAL_DIR (int)
如果启用,此选项指定允许在 LOAD DATA LOCAL 语句中进行客户端 LOCAL 数据加载的目录。
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)

需要 MySQL 5.1.10 及更高版本

MYSQLI_INIT_COMMAND (int)

连接到 MySQL 服务器时要执行的命令。在重新连接时会自动重新执行。

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)

使用 SSL(加密协议)。此选项不应由应用程序程序设置;它在 MySQL 客户端库中内部设置

MYSQLI_CLIENT_COMPRESS (int)

使用压缩协议

MYSQLI_CLIENT_INTERACTIVE (int)

允许在关闭连接之前进行 interactive_timeout 秒(而不是 wait_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 中可用。
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)
列定义中没有 DEFAULT 子句。这并不适用于 NULLAUTO_INCREMENT 列,因为这些列分别具有 NULL 的默认值和隐式默认值。
MYSQLI_TYPE_DECIMAL (int)

字段定义为 DECIMAL

MYSQLI_TYPE_NEWDECIMAL (int)

高精度数学 DECIMALNUMERIC 字段 (MySQL 5.0.3 及更高版本)

MYSQLI_TYPE_BIT (int)

字段定义为 BIT (MySQL 5.0.3 及更高版本)

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)

字段定义为 INTERVAL

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)

字段定义为 CHARBINARY

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

绑定变量有更多数据可用

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 LOGS SQL 语句。

MYSQLI_REFRESH_TABLES (int)

刷新表缓存,类似于执行 FLUSH TABLES SQL 语句。

MYSQLI_REFRESH_HOSTS (int)

刷新主机缓存,类似于执行 FLUSH HOSTS SQL 语句。

MYSQLI_REFRESH_REPLICA (int)

MYSQLI_REFRESH_SLAVE 常量的别名。从 PHP 8.1.0 开始可用。

MYSQLI_REFRESH_STATUS (int)

重置状态变量,类似于执行 FLUSH STATUS SQL 语句。

MYSQLI_REFRESH_THREADS (int)

刷新线程缓存。

MYSQLI_REFRESH_SLAVE (int)

在从属复制服务器上:重置主服务器信息,并重新启动从属服务器。类似于执行 RESET SLAVE SQL 语句。

MYSQLI_REFRESH_MASTER (int)

在主复制服务器上:删除二进制日志索引中列出的二进制日志文件,并截断索引文件。类似于执行 RESET MASTER SQL 语句。

MYSQLI_REFRESH_BACKUP_LOG (int)
关闭并重新打开备份日志文件。
MYSQLI_TRANS_COR_AND_CHAIN (int)

mysqli_commit()mysqli_rollback() 后追加 "AND CHAIN"。

MYSQLI_TRANS_COR_AND_NO_CHAIN (int)

mysqli_commit()mysqli_rollback() 后追加 "AND NO CHAIN"。

MYSQLI_TRANS_COR_RELEASE (int)

mysqli_commit()mysqli_rollback() 后追加 "RELEASE"。

MYSQLI_TRANS_COR_NO_RELEASE (int)

mysqli_commit()mysqli_rollback() 后追加 "NO RELEASE"。

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)
查询异步执行,不会立即返回结果集。仅适用于 mysqlnd
MYSQLI_ON_UPDATE_NOW_FLAG (int)
如果更新了字段,它将获得当前时间值。
添加注释

用户贡献注释 2 notes

1
匿名
16 年前
MYSQLI_TYPE_SHORT 用于 SMALLINT,而不是 INT
-3
jeriba4 at googlemail dot com
11 年前
请注意,虽然 CHAR 是 MySQL 中的显式字符串类型,
但 MYSQLI_TYPE_CHAR 的解释方式与 MYSQLI_TYPE_TINY 相同,后者是 MySQL 中的 TINYINT 数字类型。
因此,您无法使用各自的类型索引区分这两种列类型,因为两者都被设置为整数 1。
To Top