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)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_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
。自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
子句。这并不适用于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_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)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)请注意,尽管 CHAR 是 MySQL 中的显式字符串类型,
但 MYSQLI_TYPE_CHAR 的解释方式与 MYSQLI_TYPE_TINY 相同,后者是 MySQL 中的 TINYINT 数值类型。
因此,您无法通过使用它们各自的类型索引来区分这两种列类型,因为两者都设置为整数 1。