MYSQLI_TYPE_SHORT 用于 SMALLINT,而不是 INT
以下常量由此扩展定义,只有在扩展已编译到 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_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_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)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
子句。这并不适用于 NULL
或 AUTO_INCREMENT
列,因为这些列分别具有 NULL
的默认值和隐式默认值。
MYSQLI_TYPE_DECIMAL
(int)字段定义为 DECIMAL
MYSQLI_TYPE_NEWDECIMAL
(int)高精度数学 DECIMAL
或 NUMERIC
字段 (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)字段定义为 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
绑定变量有更多数据可用
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)请注意,虽然 CHAR 是 MySQL 中的显式字符串类型,
但 MYSQLI_TYPE_CHAR 的解释方式与 MYSQLI_TYPE_TINY 相同,后者是 MySQL 中的 TINYINT 数字类型。
因此,您无法使用各自的类型索引区分这两种列类型,因为两者都被设置为整数 1。