資料庫連線步驟
資料庫連線步驟
我們為大家將資料庫連線整理成了最重要的8個步驟,戲稱它為:「資料庫連結天龍八步」。
這八個步驟如下,並且將每一步使用的函數都做了說明:
#第一步: 連接資料庫伺服器
##若參數4,資料庫名稱在此步驟已填入並擇,不需要執行第三步驟。第二步:判斷錯誤
第三步: 選擇資料庫
若在第一步驟已填入資料庫,不需要更換成其他資料庫,則不需要執行第三步驟。 第四步: 設定字元集
第五步:準備SQL語句
其實就是一個SQL語句的字串。
例如:
$sql = "insert into user(username,password) values('$username','$password')";
我們通常要把變數賦值在SQL語句中使用。可是變數或SQL語句出錯了,非常不好檢查。
我們根據實際工作經驗增加了這一步驟。
如果在執行此步驟的時候報錯了,我們可以把SQL語句印出來,貼在phpMyAdmin或相關工具中。
排錯時,如果執行成功就說明不是SQL語句的問題。如果執行失敗,請仔細檢查SQL語句。 第六步: 傳送SQL語句
#SQL語句準備完成,需要透過mysqli_query將SQL語句傳送給MySQL伺服器。
MySQL伺服器會執行傳送過來的SQL語句來執行。 第7步:判斷是否執行正常或遍歷資料
讀取###第6步驟中,發送的是select類別的語句,通常需要將結果輸出顯示出來。就需要用到遍歷顯示資料的函數。 ###
#寫入
在第6步驟中,如果發送的是insert的語句,通常需要得到是否執行成功,或同時拿到自增的ID。
修改和刪除
在第6步驟中,如果發送的是update和delete類別的語句。只需要判斷是否執行成功即可。我們將這些常用函數列出資料表給大家看。
資料庫連線是一個資源型別。我們在之前的章節中講解資源類型的時候跟大家說過。凡是涉及到數資源類型的有開啟就有關閉。這樣能夠確保PHP更有效率的處理與回收資源。
因此,資料庫連線成功後,不需要使用的時候。我們可以關閉這個連線。
其他:顯示伺服器資訊函數
注意:mysqli只學過程化的方法即可。在物件導向階段實際工作中完全拋棄了mysqli的物件用法,而是使用的是PDO物件連接資料庫的方式。
1.為了更好地設定資料連接,一般會將資料連接所涉及的值定義成變數.<?php
$mysql_server_name='localhost'; //改成自己的mysql数据库服务器
$mysql_username='root'; //改成自己的mysql数据库用户名
$mysql_password='123456789'; //改成自己的mysql数据库密码
$mysql_database='php'; //改成自己的mysql数据库名
?>
也可把以上變數放在一個文件裡,可以隨時讓其他檔案呼叫.
例如: 將以上內容放在:db_config.php 那麼在其他需要用到資料庫的頁面直接呼叫.
呼叫程式碼:require( "db_config.php");
<?php $conn=mysql_connect($mysql_server_name,$mysql_username,$mysql_password) or die("error connecting") ; //连接数据库 mysql_query("set names 'utf8'"); //数据库输出编码 应该与你的数据库编码保持一致.南昌网站建设公司百恒网络PHP工程师建议用UTF-8 国际标准编码. mysql_select_db($mysql_database); //打开数据库 $sql ="select * from news "; //SQL语句 $result = mysql_query($sql,$conn); //查询 ?>### #########3.讀取表中的內容,這裡我們用while,可以根據具體情況,用for 或其他的.######
<?php while($row = mysql_fetch_array($result)) { echo "<div style=\"height:24px; line-height:24px; font-weight:bold;\">"; //排版代码 echo $row['Topic'] . "<br/>"; echo "</div>"; //排版代码 } ?>####### 4.php寫入資料庫,Mysql資料的寫入######
<?php $conn=mysql_connect($mysql_server_name,$mysql_username,$mysql_password); //连接数据库 mysql_query("set names 'utf8'"); //数据库输出编码 mysql_select_db($mysql_database); //打开数据库 $sql = "insert into messageboard (Topic,Content,Enabled,Date) values ('$Topic','$Content','1','2011-01-12')"; mysql_query($sql); mysql_close(); //关闭MySQL连接 ?>### # ###########