我們為大家將資料庫連線整理成了最重要的8個步驟,我戲稱它為:「資料庫連結天龍八步」。
這八個步驟如下,並且將每個步驟使用的函數都做了說明:
第一步: 連接資料庫伺服器
#類型 | 說明 |
---|
函數 | mysqli_connect |
功能 | 連線到mysql資料庫伺服器 |
參數1 | #主機 |
##參數2 | 資料庫伺服器登陸名稱 |
參數3 | 密碼 |
#參數4##資料庫的名稱 | |
參數5資料庫伺服器連接埠不填入預設3306 | |
若參數4,資料庫名稱在此步已填並擇,不需要執行第三步驟。
第二步: 判斷錯誤
類型說明 | |
---|
##函數 | mysqli_errno |
功能 | 傳回連線錯誤號,無錯誤回傳0 |
參數1 | 傳入mysqli_connect回傳的資源 |
mysqli_error
#函數 | 傳回連接錯誤字串 |
參數1傳入mysqli_connect回傳的資源 | |
第三個步驟: 選擇資料庫 | | #類型
說明 | |
| #mysqli_select_db |
#功能
選擇本連線中的資料庫
參數1傳入mysqli_connect傳回的資源 | | #參數2
需要連接的資料庫名稱 | #若在第一步驟已填入資料庫,不需要更換成其他資料庫,則不需要執行第三步驟。 |
第四步: 設定字元集 | | 類型
## 說明 | |
函數mysqli_set_charset | |
功能
設定與mysql服力器連接,結果,校驗字元集###### #######參數1######傳入mysqli_connect回傳的資源############參數2######字元集類型####### ######
更多注意項,請關注本書《13.6 資料顯示亂碼終極解決方案》
第五步: 準備SQL語句
其實就是一個SQL語句的字串。
例如:
<?php
$sql = "insert into user(username,password) values('$username','$password')";
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
// some code
?>
我們通常要把變數賦值在SQL語句中使用。可是變數或SQL語句出錯了,非常不好檢查。
我們根據實際工作經驗增加了這一步驟。
如果在執行此步驟的時候報錯了,我們可以把SQL語句印出來,貼在phpMyAdmin或相關工具中。
排錯時,如果執行成功就說明不是SQL語句的問題。如果執行失敗,請仔細檢查SQL語句。
第六步: 傳送SQL語句
#類型 | ##說明 |
---|
| |
| ##函數 | mysqli_query
| 功能 | 傳送SQL語句
##參數1 | 傳入mysqli_connect回傳的資源 |
參數2
傳入傳送的SQL語句
#SQL語句準備完成,需要透過mysqli_query將SQL語句傳送給MySQL伺服器。
MySQL伺服器會執行傳送過來的SQL語句來執行。
第七步: 判斷是否執行正常或遍歷資料讀取 | #第6步驟中,傳送的是select類別的語句,通常需要將結果輸出顯示出來。就需要用到遍歷顯示資料的函數。 |
類型說明 | |
#函數 | mysqli_fetch_array |
功能 | 得到result結果集中的數據,回傳陣列進行便利 |
##參數1 | 傳入查詢出來的結果變數 |
參數2
傳入MYSQLI_NUM傳回索引數組,MYSQLI_ASSOC傳回關聯數組,MYSQLI_BOTH回傳索引與關聯 | |
#類型說明 | |
函數 | |
| | mysqli_fetch_assoc
功能得到result結果集中的數據,傳回關聯數組進行便利 | | 參數1
傳入查詢出來的結果變數 | |
#類型 | 說明 |
| |
函數
mysqli_fetch_row
#功能 | 得到result結果集中的數據,傳回索引數組進行便利 |
參數1傳入查詢出來的結果變數 | |
| 類型 |
說明 | |
函數
mysqli_fetch_object############功能#### ##得到result結果集中的數據,回傳物件進行遍歷############參數1#######傳入查詢出來的結果變數########### ##
類型 | 說明 |
---|
#函數 | ##mysqli_num_rows |
#功能 | 傳回查詢出來的結果總數 |
#參數1 | #傳入查詢出來的結果變數 |
類型 | 說明 |
函數 | mysqli_num_rows |
功能 | #傳回查詢出來的結果總數 |
##參數1 | |
| |
# #傳入查詢出來的結果變數 | 註 |
實際工作中用得非常少,了解 | 寫入 | 第6步驟中,如果發送的是insert的語句,通常需要得到是否執行成功,或同時拿到自增的ID。
| 類型 |
說明 | |
#函數
mysqli_fetch_field
功能
遍歷資料行
#參數1已傳入查詢出來的結果變數 | |
修改和刪除在第6步驟中,如果發送的是update和delete類別的語句。只需要判斷是否執行成功即可。 | 我們將這些常用函數列出資料表給大家看。 | 第八步: 關閉資料庫
| 類型 |
說明 | |
函數
mysqli_close
功能
關閉資料庫連線
參數1 | 傳入mysqli_connect回傳的資源 |
---|
資料庫連線是一種資源類型。我們在之前的章節中講解資源類型的時候跟大家說過。凡是涉及到數資源類型的有開啟就有關閉。這樣能夠確保PHP更有效率的處理與回收資源。 | 因此,資料庫連線成功後,不需要使用的時候。我們可以關閉這個連線。 | 其他:顯示伺服器資訊函數
| 類型 |
#說明 | |
函數mysqli_get_server_info | | 功能
傳回伺服器資訊##參數1 | 傳入mysqli_connect回傳的資源 |
| |
說明 | |
##################################### #########函數######mysqli_get_server_version###################傳回伺服器版本######################################################## #參數1######傳入mysqli_connect回傳的資源##################注意:###mysqli只學過程化的方法即可。在物件導向階段實際工作中完全拋棄了mysqli的物件用法,而是使用的是PDO物件連接資料庫的方式。 ###
下一節