Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 什么是Mysqli连接?_Php_Mysql_Mysqli - Fatal编程技术网

Php 什么是Mysqli连接?

Php 什么是Mysqli连接?,php,mysql,mysqli,Php,Mysql,Mysqli,这就是我目前所能想象的: MySQL服务器正在运行,这是一个监听端口的应用程序(我现在还不是100%清楚) 服务器解析PHP代码,其中一部分涉及将输入发送到MySQL服务器(这是一个通过特定端口完全独立的程序(在mysqli类中编写的代码?) 然后返回mysqli类解释的输出?这些消息被解释为错误、已建立的连接或成功的查询等 这是MySQL/PHP通信的合理正确观点吗?MySQL是一个在后台某处持续运行并管理数据存储的程序。它通过套接字连接提供一个与外部世界的接口,在该接口上,它接受SQL查询,

这就是我目前所能想象的:

MySQL服务器正在运行,这是一个监听端口的应用程序(我现在还不是100%清楚)

服务器解析PHP代码,其中一部分涉及将输入发送到MySQL服务器(这是一个通过特定端口完全独立的程序(在mysqli类中编写的代码?)

然后返回mysqli类解释的输出?这些消息被解释为错误、已建立的连接或成功的查询等


这是MySQL/PHP通信的合理正确观点吗?

MySQL是一个在后台某处持续运行并管理数据存储的程序。它通过套接字连接提供一个与外部世界的接口,在该接口上,它接受SQL查询,提示它存储新数据或返回现有数据。要连接到该接口,请通过cket和发送SQL查询,您需要使用MySQL期望的特定协议;这只是如何通过该套接字与MySQL通信的技术细节。mysqli是能够使用该协议的PHP库之一,因此为PHP代码提供了一种在SQL查询中与MySQL通信的方法,抽象了套接字的细节mysql库(现在已经过时)和PDO可以做同样的事情,它们只是在PHP方面“看起来”不同(即它们的PHP代码接口与mysqli不同)

(大部分)完整的链是:

  • 浏览器通过HTTP over TCP套接字与web服务器通信
  • web服务器加载PHP模块,该模块加载并执行您的代码
  • 您的代码指示PHP mysqli模块建立到MySQL的套接字连接
  • 您的代码指示mysqli通过已建立的到MySQL的连接(通过TCP套接字的SQL或通过UNIX套接字的SQL)发送SQL查询
  • 您的代码对结果执行任何操作,向web服务器发出响应
  • web服务器通过打开的HTTP连接将PHP的输出返回到浏览器
您读过吗?它提供了有关MYSQL如何与PHP协同工作的重要信息。