2024年PHP日本大会

预定义常量

以下常量由此扩展定义,只有在将扩展编译到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)
如果启用,此选项指定客户端LOCAL数据加载在LOAD DATA 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)

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。自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)
列在其定义中没有DEFAULT子句。这并不适用于NULLAUTO_INCREMENT列,因为这些列分别具有NULL的默认值和隐含的默认值。
MYSQLI_TYPE_DECIMAL (int)

字段定义为DECIMAL

MYSQLI_TYPE_NEWDECIMAL (int)

高精度数学DECIMALNUMERIC字段。

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)

字段定义为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_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)

刷新日志,类似于执行FLUSH LOGS SQL语句。自 PHP 8.4.0 起弃用。

MYSQLI_REFRESH_TABLES (int)

刷新表缓存,类似于执行FLUSH TABLES SQL语句。自 PHP 8.4.0 起弃用。

MYSQLI_REFRESH_HOSTS (int)

刷新主机缓存,类似于执行FLUSH HOSTS SQL语句。自 PHP 8.4.0 起弃用。

MYSQLI_REFRESH_REPLICA (int)

MYSQLI_REFRESH_SLAVE 常量的别名。自 PHP 8.1.0 起可用。自 PHP 8.4.0 起弃用。

MYSQLI_REFRESH_STATUS (int)

重置状态变量,类似于执行FLUSH STATUS SQL语句。自 PHP 8.4.0 起弃用。

MYSQLI_REFRESH_THREADS (int)

刷新线程缓存。自 PHP 8.4.0 起弃用。

MYSQLI_REFRESH_SLAVE (int)

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

MYSQLI_REFRESH_MASTER (int)

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

MYSQLI_REFRESH_BACKUP_LOG (int)
关闭并重新打开备份日志文件。自PHP 8.4.0起已弃用。
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 (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 条注释

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