2014-05-18 40 views
2

这是我目前可以看到的内容:Mysqli连接究竟是什么?

MySQL服务器正在运行,这是一个监听端口的应用程序(我目前还没有100%清除)。

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

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

这是MySQL的/ PHP通信的一个合理的正确的看法?

+1

你读过HTTP返回PHP的输出到浏览器的响应:// WWW。 php.net/manual/en/mysqli.overview.php?它提供了关于MYSQL如何与PHP协同工作的很好的信息。 –

回答

5

MySQL是其运行的程序坚持在某个地方的后台并管理数据存储通过套接字连接向外部世界发送接口,在接口上接受SQL查询,以提示它存储新数据或返回现有数据。要连接到此套接字并通过它发送SQL查询,您需要说出MySQL期望的特定协议;这只是技术细节,如何通过该套接字与MySQL进行对话。 mysqli是可以说这种协议的PHP库之一,因此提供了PHP代码的一种方法,可以在SQL查询中与MySQL交谈,从而将套接字协议的细节抽象出来。 mysql库(现在已过时并且已弃用)和PDO可以做同样的事情,它们只是在PHP端看起来不同(即它们的PHP代码接口与mysqli不同)。

的(主要是)完整的链条是:

  • 浏览器通过HTTP-过TCP套接字说话的Web服务器
  • Web服务器负载PHP模块加载并执行代码
  • 代码指示PHP mysqli模块建立与MySQL的套接字连接
  • 您的代码指示mysqli通过建立的连接向MySQL发送SQL查询(SQL-over-TCP套接字或SQL-over-UNIX套接字)
  • 你的代码做任何与结果呢,吐出到Web服务器
  • Web服务器在开放的HTTP连接