国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

php數(shù)據(jù)庫連接步驟

我們?yōu)榇蠹覍?shù)據(jù)庫連接整理成了最重要的8個步驟,我戲稱它為:“數(shù)據(jù)庫連接天龍八步”。

這八個步驟如下,并且將每一步使用的函數(shù)都做了說明:

第一步: ?連接數(shù)據(jù)庫服務(wù)器

類型說明
函數(shù)mysqli_connect
功能連接到mysql數(shù)據(jù)庫服務(wù)器
參數(shù)1主機
參數(shù)2數(shù)據(jù)庫服務(wù)器登陸名
參數(shù)3密碼
參數(shù)4數(shù)據(jù)庫的名稱
參數(shù)5數(shù)據(jù)庫服務(wù)器端口不填默認3306

若參數(shù)4,數(shù)據(jù)庫名稱在此步已填并擇,不需要執(zhí)行第三步。

第二步: ?判斷錯誤

類型說明
函數(shù)mysqli_errno
功能返回連接錯誤號,無錯誤返回0
參數(shù)1傳入mysqli_connect返回的資源
類型說明
函數(shù)mysqli_error
功能返回連接錯誤字符串
參數(shù)1傳入mysqli_connect返回的資源

第三步: ?選擇數(shù)據(jù)庫

類型說明
函數(shù)mysqli_select_db
功能選擇本連接中的數(shù)據(jù)庫
參數(shù)1傳入mysqli_connect返回的資源
參數(shù)2需要連接的數(shù)據(jù)庫名

若在第一步已填數(shù)據(jù)庫,不需要更換成其他數(shù)據(jù)庫,則不需要執(zhí)行第三步。

第四步: ?設(shè)置字符集

類型說明
函數(shù)mysqli_set_charset
功能設(shè)置與mysql服力器連接,結(jié)果,校驗字符集
參數(shù)1傳入mysqli_connect返回的資源
參數(shù)2字符集類型

更多注意項,請關(guān)注本書《13.6 數(shù)據(jù)顯示亂碼終極解決方案》

第五步: ?準備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語句中使用??墒亲兞炕蛘逽QL語句出錯了,非常不好排查。

我們根據(jù)實際工作經(jīng)驗增加了這一步。

如果在執(zhí)行此步的時候報錯了,我們可以把SQL語句打印出來,粘貼到phpMyAdmin或者相關(guān)工具中。

排錯時,如果執(zhí)行成功就說明不是SQL語句的問題。如果執(zhí)行失敗,請仔細檢查SQL語句。

第六步: ?發(fā)送SQL語句

類型說明
函數(shù)mysqli_query
功能發(fā)送SQL語句
參數(shù)1傳入mysqli_connect返回的資源
參數(shù)2傳入發(fā)送的SQL語句

SQL語句準備完成,需要通過mysqli_query將SQL語句發(fā)送給MySQL服務(wù)器。

MySQL服務(wù)器會執(zhí)行發(fā)送過來的SQL語句進行執(zhí)行。

第七步: ?判斷是否執(zhí)行正常或者遍歷數(shù)據(jù)

讀取

第6步中,發(fā)送的是select類別的語句,通常需要將結(jié)果輸出顯示出來。就需要用到遍歷顯示數(shù)據(jù)的函數(shù)。

類型說明
函數(shù)mysqli_fetch_array
功能得到result結(jié)果集中的數(shù)據(jù),返回數(shù)組進行便利
參數(shù)1傳入查詢出來的結(jié)果變量
參數(shù)2傳入MYSQLI_NUM返回索引數(shù)組,MYSQLI_ASSOC返回關(guān)聯(lián)數(shù)組,MYSQLI_BOTH返回索引和關(guān)聯(lián)
類型說明
函數(shù)mysqli_fetch_assoc
功能得到result結(jié)果集中的數(shù)據(jù),返回關(guān)聯(lián)數(shù)組進行便利
參數(shù)1傳入查詢出來的結(jié)果變量
類型說明
函數(shù)mysqli_fetch_row
功能得到result結(jié)果集中的數(shù)據(jù),返回索引數(shù)組進行便利
參數(shù)1傳入查詢出來的結(jié)果變量
類型說明
函數(shù)mysqli_fetch_object
功能得到result結(jié)果集中的數(shù)據(jù),返回對象進行遍歷
參數(shù)1傳入查詢出來的結(jié)果變量
類型說明
函數(shù)mysqli_num_rows
功能返回查詢出來的結(jié)果總數(shù)
參數(shù)1傳入查詢出來的結(jié)果變量
類型說明
函數(shù)mysqli_num_rows
功能返回查詢出來的結(jié)果總數(shù)
參數(shù)1傳入查詢出來的結(jié)果變量
實際工作中用得非常少,了解

寫入

第6步中,如果發(fā)送的是insert的語句,通常需要得到是否執(zhí)行成功,或者同時拿到自增的ID。

類型說明
函數(shù)mysqli_fetch_field
功能遍歷數(shù)據(jù)行
參數(shù)1傳入查詢出來的結(jié)果變量

修改和刪除

第6步中,如果發(fā)送的是update和delete類別的語句。只需要判斷是否執(zhí)行成功即可。

我們將這些常用函數(shù)列出數(shù)據(jù)表給給大家查看。

第八步: ?關(guān)閉數(shù)據(jù)庫

類型說明
函數(shù)mysqli_close
功能關(guān)閉數(shù)據(jù)庫連接
參數(shù)1傳入mysqli_connect返回的資源

數(shù)據(jù)庫連接是一個資源類型。我們在之前的章節(jié)中講解資源類型的時候跟大家說過。凡是涉及到數(shù)資源類型的有打開就有關(guān)閉。這樣能夠保證PHP更高效的處理和回收資源。

因此,數(shù)據(jù)庫連接成功后,不需要使用的時候。我們可以關(guān)閉這個連接。

其他:顯示服務(wù)器信息函數(shù)

類型說明
函數(shù)mysqli_get_server_info
功能返回服務(wù)器信息
參數(shù)1傳入mysqli_connect返回的資源
類型說明
函數(shù)mysqli_get_server_version
功能返回服務(wù)器版本
參數(shù)1傳入mysqli_connect返回的資源

注意:
mysqli只學過程化的方法即可。在面向?qū)ο箅A段實際工作中完全拋棄了mysqli的對象用法,而是使用的是PDO對象連接數(shù)據(jù)庫的方式。

繼續(xù)學習
||
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } // some code ?>
提交重置代碼