php_ref_mysqli
PHP MySQLi 函数参考
Section titled “PHP MySQLi 函数参考”PHP MySQLi 简介
Section titled “PHP MySQLi 简介”MySQLi 代表 MySQL Improved(改进的 MySQL)。它是一个 PHP 扩展,旨在利用 MySQL 4.1.3 及更高版本中的功能。它提供了从 PHP 与 MySQL 数据库交互的接口。
MySQLi 提供了面向过程接口(类似于较旧的、已废弃的 mysql_* 函数)和面向对象接口。面向对象方法通常更受现代 PHP 开发的青睐。
主要功能包括支持预处理语句 (prepared statements)、事务 (transactions)、多语句 (multiple statements) 和增强的调试功能。
PDO (PHP Data Objects) 是另一个流行的数据库访问扩展,它提供了跨不同数据库系统的统一接口。选择 MySQLi 还是 PDO 取决于项目需求(MySQLi 专门用于 MySQL/MariaDB,而 PDO 更具可移植性)。
安装 / 运行时配置
Section titled “安装 / 运行时配置”MySQLi 扩展通常在大多数现代 PHP 安装中默认包含并启用,尤其是在使用 MySQL Native Driver (mysqlnd) 编译时。mysqlnd 是推荐的库,因为它比旧的 libmysqlclient 提供更好的性能和功能。
你可以通过检查 phpinfo() 输出或使用 extension_loaded('mysqli') 来验证是否启用了 MySQLi。
有关详细的安装和配置选项(例如,特定的 socket 路径、默认端口),请参阅官方 PHP 手册:
安装:https://www.php.net/manual/en/mysqli.installation.php
运行时配置:https://www.php.net/manual/en/mysqli.configuration.php
PHP MySQLi 函数(面向过程接口)
Section titled “PHP MySQLi 函数(面向过程接口)”以下是面向过程接口中常用函数的列表。大多数函数都有面向对象的等价形式(例如,mysqli_connect() vs $mysqli->connect())。
| 函数 | 描述 |
|---|---|
mysqli_affected_rows() | 返回上一个 INSERT、UPDATE、REPLACE 或 DELETE 查询影响的行数。 |
mysqli_autocommit() | 开启或关闭数据库修改的自动提交。 |
mysqli_change_user() | 更改指定数据库连接的用户。 |
mysqli_character_set_name() | 返回数据库连接的默认字符集名称。 |
mysqli_close() | 关闭先前打开的数据库连接。 |
mysqli_commit() | 提交当前事务。 |
mysqli_connect_errno() | 返回上次连接尝试的错误代码。 |
mysqli_connect_error() | 返回上次连接错误的字符串描述。 |
mysqli_connect() | 打开与 MySQL 服务器的新连接。 |
mysqli_data_seek() | 将结果指针调整到结果集中的任意一行。 |
mysqli_debug() | 执行调试操作(需要特殊编译的 PHP 版本)。 |
mysqli_dump_debug_info() | 将调试信息转储到日志中。 |
mysqli_errno() | 返回最近一次函数调用的错误代码。 |
mysqli_error_list() | 返回执行的最后一个命令的错误列表。 |
mysqli_error() | 返回上次错误的字符串描述。 |
mysqli_fetch_all() | 将所有结果行作为数组获取(需要 mysqlnd)。 |
mysqli_fetch_array() | 将结果行作为关联数组、数值数组或两者获取。 |
mysqli_fetch_assoc() | 将结果行作为关联数组获取。 |
mysqli_fetch_field_direct() | 通过偏移量获取单个字段的元数据。 |
mysqli_fetch_field() | 将结果集中的下一个字段作为对象返回。 |
mysqli_fetch_fields() | 返回表示结果集中字段的对象数组。 |
mysqli_fetch_lengths() | 返回结果集中当前行的列长度。 |
mysqli_fetch_object() | 将结果集的当前行作为对象返回。 |
mysqli_fetch_row() | 从结果集中获取一行数据,并将其作为枚举数组返回。 |
mysqli_field_count() | 返回最近一次查询的列数。 |
mysqli_field_seek() | 将字段游标设置为给定的字段偏移量。 |
mysqli_field_tell() | 返回字段游标的位置。 |
mysqli_free_result() | 释放与结果集关联的内存。 |
mysqli_get_charset() | 返回一个字符集对象。 |
mysqli_get_client_info() | 以字符串形式返回 MySQL 客户端库版本。 |
mysqli_get_client_stats() | 返回客户端按进程统计信息(需要 mysqlnd)。 |
mysqli_get_client_version() | 以整数形式返回 MySQL 客户端库版本。 |
mysqli_get_connection_stats() | 返回客户端连接统计信息(需要 mysqlnd)。 |
mysqli_get_host_info() | 返回描述连接的字符串。 |
mysqli_get_proto_info() | 返回连接使用的 MySQL 协议版本。 |
mysqli_get_server_info() | 返回 MySQL 服务器版本。 |
mysqli_get_server_version() | 以整数形式返回 MySQL 服务器版本。 |
mysqli_info() | 检索关于最近执行的查询的信息。 |
mysqli_init() | 初始化 MySQLi 并返回一个对象,用于与 mysqli_real_connect() 一起使用。 |
mysqli_insert_id() | 返回上次查询中使用的自动生成 ID。 |
mysqli_kill() | 请求服务器终止一个 MySQL 线程。 |
mysqli_more_results() | 检查多查询中是否有更多结果集。 |
mysqli_multi_query() | 在数据库上执行一个或多个查询。 |
mysqli_next_result() | 准备 mysqli_multi_query() 中的下一个结果集。 |
mysqli_num_fields() | 返回结果集中的字段数。 |
mysqli_num_rows() | 返回结果集中的行数。 |
mysqli_options() | 设置连接选项(如 MYSQLI_OPT_CONNECT_TIMEOUT)。 |
mysqli_ping() | ping 服务器连接,或在连接中断时尝试重新连接。 |
mysqli_prepare() | 准备要执行的 SQL 语句(用于预处理语句)。 |
mysqli_query() | 对数据库执行查询。 |
mysqli_real_connect() | 打开到 MySQL 服务器的连接(通常在 mysqli_init() 之后使用)。 |
mysqli_real_escape_string() | 转义字符串中的特殊字符以用于 SQL 语句(请改用预处理语句!)。 |
mysqli_real_query() | 执行 SQL 查询。 |
mysqli_reap_async_query() | 返回异步查询的结果(需要 mysqlnd)。 |
mysqli_refresh() | 刷新表或缓存,或重置复制服务器信息。 |
mysqli_rollback() | 回滚当前事务。 |
mysqli_select_db() | 选择用于数据库查询的默认数据库(已废弃;在连接时指定或使用对象属性)。 |
mysqli_set_charset() | 设置默认的客户端字符集。 |
mysqli_set_local_infile_default() | 取消对 LOAD DATA LOCAL INFILE 的用户定义处理程序。 |
mysqli_set_local_infile_handler() | 为 LOAD DATA LOCAL INFILE 命令设置回调函数。 |
mysqli_sqlstate() | 返回最近一次 MySQL 操作的 SQLSTATE 错误代码。 |
mysqli_ssl_set() | 用于使用 SSL 建立安全连接。 |
mysqli_stat() | 返回当前系统状态。 |
mysqli_stmt_init() | 初始化一个语句并返回一个对象,用于与 mysqli_stmt_prepare() 一起使用。 |
mysqli_store_result() | 从上次查询中传输结果集。 |
mysqli_thread_id() | 返回当前连接的线程 ID。 |
mysqli_thread_safe() | 返回客户端库是否编译为线程安全的。 |
mysqli_use_result() | 启动结果集检索而不将其存储在本地(慎用)。 |
mysqli_warning_count() | 返回上次查询的警告数。 |
请参考官方 PHP 文档,以获取最全面、最新的信息、参数详情、返回值以及每个函数及其面向对象对应形式的示例: