簡體   English   中英

Mysqli連接到底是什么?

[英]what exactly is a Mysqli connection?

這是我目前可以看到的:

MySQL服務器正在運行,這是一個在端口上偵聽的應用程序(此刻我尚不清楚100%處於打開狀態)。

服務器解析PHP代碼,其中一部分涉及將輸入發送到MySQL服務器(這是通過特定端口完全獨立的程序(用mysqli類編寫的代碼?),

然后返回mysqli類解釋的輸出? 並將這些消息解釋為錯誤,已建立的連接或成功的查詢等?

這是MySQL / PHP通訊的合理正確視圖嗎?

MySQL是一個在后台某處持久運行並管理數據存儲的程序。 它通過套接字連接提供了與外界的接口,在該接口上它接受SQL查詢,提示其存儲新數據或返回現有數據。 要連接到此套接字並通過它發送SQL查詢,您需要說出MySQL期望的特定協議。 這只是如何通過該套接字與MySQL進行精確通信的技術細節。 mysqli是可以使用該協議的PHP庫之一,從而為PHP代碼提供了一種在SQL查詢中與MySQL進行通信的方法,從而抽象出套接字協議的細節。 mysql庫(現在已經過時和不推薦使用)和PDO可以做相同的事情,它們只是在PHP方面“看起來”不同(即,它們的PHP代碼接口與mysqli不同)。

(大部分)完整鏈是:

  • 瀏覽器通過HTTP-over-TCP-socket與Web服務器對話
  • Web服務器加載PHP模塊,該模塊加載並執行您的代碼
  • 您的代碼指示PHP mysqli模塊建立與MySQL的套接字連接
  • 您的代碼指示mysqli通過已建立的與MySQL的連接(SQL-over-TCP-socket或SQL-over-UNIX-socket)發送SQL查詢
  • 您的代碼將對結果進行任何處理,將響應發送到Web服務器
  • Web服務器通過打開的HTTP連接將PHP的輸出返回到瀏覽器

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM