• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > php扩展MySQLi

php扩展MySQLi

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了php,MySQLi等相关知识,希望本文的分享对您有所帮助
mysqli扩展允许我们访问MySQL 4.1及以上版本提供的功能。

mysqli扩展和持久化连接

mysqli扩展的持久化连接在PHP5.3中被引入。支持已经存在于PDO MYSQL 和ext/mysql中。持久化连接背后的思想是客户端进程和数据库之间的连接可以通过一个客户端进程来保持重用, 而不是多次的创建和销毁。这降低了每次需要创建一个新连接的开销,未使用的连接被缓存起来并且准备随时被重用。

不像mysql扩展,mysqli没有提供一个特殊的方法用于打开持久化连接。需要打开一个持久化连接时,你必须在 连接时在主机名前增加p:。

使用持久化连接的问题在于它们可能在客户端处于不可预知的状态。比如,一个表锁可能在客户端意外终止之前被激活。 一个新的客户端进程重用这个持久化连接就会"按照原样"得到这个连接。这样,一个新的客户端进程 为了更好的使用持久化连接,就需要做任何可能的清理工作,这样就增加了对程序员的负担。

mysqli扩展的持久化连接提供了内建的清理处理代码。mysqli 所做的清理工作包括:

回滚活动的事务

关闭并且删除临时表

对表解锁、

重置会话变量

关闭prepared语句(在PHP中经常发生)

关闭处理程序

释放通过 GET_LOCK()获得的锁

这确保了从连接池返回的持久化连接在客户端进程使用它之前处于干净的状态。

mysqli扩展通过自动的调用C-API函数mysql_change_user() 来完成这个清理工作。

自动清理的特性有优点也有缺点。优点是程序员不再需要担心附加的清理代码,因为它们会自动调用。然而缺点就是 代码可能会潜在的慢一点,因为每次从连接池返回一个连接都需要执行这些清理代码。

这个自动清理的代码可以通过在编译php时定义MYSQLI_NO_CHANGE_USER_ON_PCONNECT 来关闭。

mysqli扩展在使用Mysql Native Driver或Mysql Client Library(libmysql)时都支持持久化连接。

MySQLi类

代表PHP和Mysql数据库之间的一个连接。

mysqli::$affected_rows — Gets the number of affected rows in a previous MySQL operation

mysqli::autocommit — 打开或关闭本次数据库连接的自动命令提交事务模式

mysqli::begin_transaction — Starts a transaction

mysqli::change_user — Changes the user of the specified database connection

mysqli::character_set_name — 返回当前数据库连接的默认字符编码

mysqli::$client_info — Get MySQL client info

mysqli::$client_version — Returns the MySQL client version as a string

mysqli::close — 关闭先前打开的数据库连接

mysqli::commit — 提交一个事务

mysqli::$connect_errno — Returns the error code from last connect call

mysqli::$connect_error — Returns a string description of the last connect error

mysqli::__construct — Open a new connection to the MySQL server

mysqli::debug — Performs debugging operations

mysqli::dump_debug_info — 将调试信息输出到日志

mysqli::errno — 返回最近函数调用的错误代码

mysqli::$error_list — Returns a list of errors from the last command executed

mysqli::$error — Returns a string description of the last error

mysqli::$field_count — Returns the number of columns for the most recent query

mysqli::get_charset — Returns a character set object

mysqli::get_client_info — Get MySQL client info

mysqli_get_client_stats — Returns client per-process statistics

mysqli_get_client_version — Returns the MySQL client version as an integer

mysqli::get_connection_stats — Returns statistics about the client connection

mysqli::$host_info — Returns a string representing the type of connection used

mysqli::$protocol_version — Returns the version of the MySQL protocol used

mysqli::$server_info — Returns the version of the MySQL server

mysqli::$server_version — Returns the version of the MySQL server as an integer

mysqli::get_warnings — Get result of SHOW WARNINGS

mysqli::$info — Retrieves information about the most recently executed query

mysqli::init — Initializes MySQLi and returns a resource for use with mysqli_real_connect()

mysqli::$insert_id — Returns the auto generated id used in the last query

mysqli::kill — Asks the server to kill a MySQL thread

mysqli::more_results — Check if there are any more query results from a multi query

mysqli::multi_query — Performs a query on the database

mysqli::next_result — Prepare next result from multi_query

mysqli::options — Set options

mysqli::ping — Pings a server connection, or tries to reconnect if the connection has gone down

mysqli::poll — Poll connections

mysqli::prepare — Prepare an SQL statement for execution

mysqli::query — 对数据库执行一次查询

mysqli::real_connect — Opens a connection to a mysql server

mysqli::real_escape_string — Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection

mysqli::real_query — 执行一个mysql查询

mysqli::reap_async_query — Get result from async query

mysqli::refresh — Refreshes

mysqli::release_savepoint — Rolls back a transaction to the named savepoint

mysqli::rollback — 回退当前事务

mysqli::rpl_query_type — Returns RPL query type

mysqli::savepoint — Set a named transaction savepoint

mysqli::select_db — 选择用于数据库查询的默认数据库

mysqli::send_query — 发送请求并返回结果

mysqli::set_charset — 设置默认字符编码

mysqli::set_local_infile_default — Unsets user defined handler for load local infile command

mysqli::set_local_infile_handler — Set callback function for LOAD DATA LOCAL INFILE command

mysqli::$sqlstate — Returns the SQLSTATE error from previous MySQL operation

mysqli::ssl_set — Used for establishing secure connections using SSL

mysqli::stat — Gets the current system status

mysqli::stmt_init — 初始化一条语句并返回一个用于mysqli_stmt_prepare(调用)的对象

mysqli::store_result — Transfers a result set from the last query

mysqli::$thread_id — Returns the thread ID for the current connection

mysqli::thread_safe — 返回是否是线程安全的

mysqli::use_result — Initiate a result set retrieval

mysqli::$warning_count — Returns the number of warnings from the last query for the given link

MySQLi_STMT类

代表一个prepared语句。

mysqli_stmt::$affected_rows — Returns the total number of rows changed, deleted, or inserted by the last executed statement

mysqli_stmt::attr_get — Used to get the current value of a statement attribute

mysqli_stmt::attr_set — Used to modify the behavior of a prepared statement

mysqli_stmt::bind_param — Binds variables to a prepared statement as parameters

mysqli_stmt::bind_result — Binds variables to a prepared statement for result storage

mysqli_stmt::close — Closes a prepared statement

mysqli_stmt::data_seek — Seeks to an arbitrary row in statement result set

mysqli_stmt::$errno — Returns the error code for the most recent statement call

mysqli_stmt::$error_list — Returns a list of errors from the last statement executed

mysqli_stmt::$error — Returns a string description for last statement error

mysqli_stmt::execute — Executes a prepared Query

mysqli_stmt::fetch — Fetch results from a prepared statement into the bound variables

mysqli_stmt::$field_count — Returns the number of field in the given statement

mysqli_stmt::free_result — Frees stored result memory for the given statement handle

mysqli_stmt::get_result — Gets a result set from a prepared statement

mysqli_stmt::get_warnings — Get result of SHOW WARNINGS

mysqli_stmt::$insert_id — Get the ID generated from the previous INSERT operation

mysqli_stmt::more_results — Check if there are more query results from a multiple query

mysqli_stmt::next_result — Reads the next result from a multiple query

mysqli_st

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 浅析mysql 语句的调度优先级及改变
  • 基于mysql多实例安装的深入解析
  • mysql_fetch_row()与mysql_fetch_array()的使用介绍
  • 基于Php mysql存储过程的详解
  • PHP之Mysql常用SQL语句示例的深入分析
  • PHP mysqli 增强 批量执行sql 语句的实现代码
  • PHP mysqli扩展库 预处理技术的使用分析
  • Mysql中文乱码以及导出为sql语句和Excel问题解决方法[图文]
  • 修改mysql密码与忘记mysql密码的处理方法
  • 多次执行mysql_fetch_array()的指针归位问题探讨

相关文章

  • 2018-12-05记一次因线上mysql优化器误判引起慢查询事件的分享
  • 2018-12-05mysql 字符集处理
  • 2018-12-05sqlserver自动增长列引起的问题解决方法
  • 2018-12-05mysql中索引使用不当速度比没加索引还慢的测试
  • 2017-05-11mysql部分替换sql语句分享
  • 2018-12-05 互联网创业的准备数据库:硬盘iops、mysql
  • 2018-12-05多列复合索引的使用 绕过微软sql server的一个缺陷
  • 2018-12-05MySql 安装时的1045错误
  • 2017-05-11MySQL数据库中删除重复记录的方法总结[推荐]
  • 2018-12-05mysql 让一个存储过程定时作业的代码

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • windows环境下mysql数据库的主从同步备份步骤(单向同步)
    • Linux下MySQL安装配置 MySQL配置参数详解
    • MySQL 多表查询实现分析
    • Window10下安装 mysql5.7图文教程(解压版)_MySQL
    • MySQL易学易用之MYSQL不为人知的特性
    • Mysql中的事务是什么如何使用
    • 错误22022 SQLServerAgent当前未运行的解决方法
    • 自动备份mssql server数据库并压缩的批处理脚本
    • SQL语句中SUM与COUNT的区别深入分析
    • mysql与apt-get在ubuntu下卸载和安装

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有