1. 程式人生 > >PHP訪問MySQL數據庫

PHP訪問MySQL數據庫

result 改進 相關信息 rom 連接錯誤 con 結果 體系結構 數組

9PHP訪問MySQL數據庫

1. PHP訪問MySQL數據庫服務器的流程

之前學習mysql的時候,采用的是客戶機/服務器”的體系結構

mysql>select * from a; --------》MySQL數據庫服務器

《 ---------

PHP訪問MySQL數據庫的時候,我們的PHP則充當了客戶機的角色

PHP充當了客戶機的角色-----------》MySQL數據庫服務器

《-----------

接下來我們可以通過phpinfo()的函數來確定

mysql模塊是否被安裝

Mysql裏面,返回的數據大致可以分為兩類:

InsertupdatedeleteDML語句):該類語句執行成功就返回TRUE,否則就返回FALSE

SelectDQL語句):返回的是查詢的結果,專業名詞被稱為結果集(就是結果的集合)

PHP操作數據庫的步驟:其實就和在客戶端操作數據庫的步驟一模一樣

連接數據庫

|

選擇數據庫

|

行被影響—— 執行SQL語句----返回結果集

\ |

\ 處理結果集

|

關閉連接

2. PHP腳本裏面連接MySQL服務器

① 連接數據庫

PHPmysql擴展裏面給我們提供了一個函數

mysql_connect(“主機名稱”,”用戶名”,”密碼”)

就是和我們以前通過mysql客戶端連接數據庫的語法是一樣的

如下:

PHP裏面連接數據庫和在客戶端一樣

如果連接錯誤,報的錯誤信息也是和客戶機是一樣的

因為mysql數據庫模塊現在已經漸漸的被淘汰,現在基本上使用mysqli或者使用pdo

@:錯誤屏蔽運算符 可以屏蔽錯誤信息

連接數據庫成功以後,我們就可以通過一系列的MySQL擴展函數來查看數據庫的相關信息

Mysql_get_client_info():獲取客戶端信息

Mysql_get_host_info():獲取主機信息

Mysql_get_proto_info():獲取mysql的協議信息

Mysql_get_server_info():獲取mysql中的服務器信息

② 選擇數據庫

Mysql_select_db(“數據庫名稱”,數據庫資源變量)

這一步和mysql裏面的use 數據庫名操作是一樣的

③ 發送SQL語句

Mysql裏面提供了mysql_query()函數用於執行sql語句的,執行該語句後,如果返回結果集,那麽接收結果集的變量是一個資源類型變量

如果執行的語句沒有結果集返回,則返回TRUE或者FALSE,所以自然接收返回值的變量的數據類型也是布爾類型

④ 處理結果集

處理結果集的函數有下面4個:

Mysql_fetch_row():將結果集中的一條記錄返回並且以索引數組的形式保存

Mysql_fetch_assoc():將結果集中的一條記錄返回並且以關聯數組的形式保存

Mysql_fetch_array():將結果集中的一條記錄返回並且以索引和關聯數組的形式保存,MYSQL_BOTH,MYSQL_NUM,MYSQL_ASSOC

Mysql_fetch_object():將結果集中的一條記錄以對象的形式進行返回

將結果集裏面的所有數據都打印出來,需要外層使用一個while語句

將數據以表格的形式打印輸出

⑤ 關閉連接,釋放資源

可以通過mysql_free_result()函數來釋放資源

通過mysql_close來關閉數據庫連接

接下來再介紹幾個比較常用的mysql擴展函數

Mysql_field_name():獲取字段名

Mysql_num_rows():獲取結果集中行的數量

Mysql_num_field():獲取結果集中列的數量

MySQLi

Mysqli是在mysql的基礎上的一個升級。最大的改進在於采用面向對象的思想,之前的mysql是面向過程的,像c語言一樣。

Mysqli雖然采用了面向對象的思想,但是仍然可以采用函數式編程

PHP訪問MySQL數據庫