PHP開發(fā)基礎(chǔ)教程之?dāng)?shù)據(jù)庫連接步驟
我們?yōu)榇蠹覍?shù)據(jù)庫連接整理成了最重要的8個步驟。
這八個步驟如下,并且將每一步使用的函數(shù)都做了說明:
第一步:連接數(shù)據(jù)庫服務(wù)器
若參數(shù)4,數(shù)據(jù)庫名稱在此步已填并擇,不需要執(zhí)行第三步。
第二步:判斷錯誤
第三步:選擇數(shù)據(jù)庫
若在第一步已填數(shù)據(jù)庫,不需要更換成其他數(shù)據(jù)庫,則不需要執(zhí)行第三步。
第四步:設(shè)置字符集
第五步:準(zhǔn)備SQL語句
其實就是一個SQL語句的字符串。
例如:
$sql = "insert into user(username,password) values('$username','$password')";
我們通常要把變量賦值在SQL語句中使用??墒亲兞炕蛘逽QL語句出錯了,非常不好排查。
我們根據(jù)實際工作經(jīng)驗增加了這一步。
如果在執(zhí)行此步的時候報錯了,我們可以把SQL語句打印出來,粘貼到phpMyAdmin或者相關(guān)工具中。
排錯時,如果執(zhí)行成功就說明不是SQL語句的問題。如果執(zhí)行失敗,請仔細(xì)檢查SQL語句。
第六步:發(fā)送SQL語句
SQL語句準(zhǔn)備完成,需要通過mysqli_query將SQL語句發(fā)送給MySQL服務(wù)器。
MySQL服務(wù)器會執(zhí)行發(fā)送過來的SQL語句進(jìn)行執(zhí)行。
第七步:判斷是否執(zhí)行正常或者遍歷數(shù)據(jù)
讀取
第6步中,發(fā)送的是select類別的語句,通常需要將結(jié)果輸出顯示出來。就需要用到遍歷顯示數(shù)據(jù)的函數(shù)。
寫入
第6步中,如果發(fā)送的是insert的語句,通常需要得到是否執(zhí)行成功,或者同時拿到自增的ID。
修改和刪除
第6步中,如果發(fā)送的是update和delete類別的語句。只需要判斷是否執(zhí)行成功即可。
我們將這些常用函數(shù)列出數(shù)據(jù)表給給大家查看。
第八步:關(guān)閉數(shù)據(jù)庫
數(shù)據(jù)庫連接是一個資源類型。我們在之前的章節(jié)中講解資源類型的時候跟大家說過。凡是涉及到數(shù)資源類型的有打開就有關(guān)閉。這樣能夠保證PHP更高效的處理和回收資源。
因此,數(shù)據(jù)庫連接成功后,不需要使用的時候。我們可以關(guān)閉這個連接。
其他:顯示服務(wù)器信息函數(shù)
注意:
mysqli只學(xué)過程化的方法即可。在面向?qū)ο箅A段實際工作中完全拋棄了mysqli的對象用法,而是使用的是PDO對象連接數(shù)據(jù)庫的方式。