標籤:
一、過時方法(PHP5以前的版本用的):用函數連結資料庫,相當於面向過程的方式
//設定頁面編碼格式
header("content-type:text/html;charset=utf-8");
1)產生連結
$db_connect = $mysql_connect("localhost","root","517") // localhost:伺服器的地址; root:資料庫的使用者名稱; 517:資料庫密碼
2)選擇操作的資料庫
mysql_select_db("mydb",$db_connect); // db: 代表資料庫,是datebase的簡寫 ; $db_connect:表示用哪一個連結資料庫
3)寫sql語句
$sql = "select * from Info ";
4)執行sql語句
$result = mysql_query($sql);
5)處理查詢結果
$row = mysql_fetch_row($result);
備忘:如果輸出內容出現亂碼,可以在開始處加上 header("content-type:text/html;charset=utf-8");
二、物件導向的方式
1.產生連結化物件,需要四個參數
$db = new mysqli("localhost","root","517","mydb");
//mysqli 是對mysql的擴充 // localhost:伺服器的地址; root:資料庫的使用者名稱; 517:資料庫密碼; mydb:要連結的資料庫
2.判斷是否串連成功
!mysqli_connect_error() or die("連結失敗"); //die相當於echo"連結失敗"; exit; //exit表示退出整個程式
3.寫sql語句
$sql = "select * from Info ";
4.執行sql語句
$result = $db->query($sql); //可以輸出一下$result看下它的類型,var_dump($result);輸出的是一個Object(對象).
5.操作結果集資料
1)
//$row = $result->fetch_row(); [ $result->fetch_row(); 每執行一次都會取出不同的一條資料 //fetch_row 表示取出一條資料 ]
//fetch_row();返回的是索引數組
while($row = $result->fetch_row())
{
print_r($row);
echo"<br / >";
}
2)或者
$attr = $resullt->fetch_all(); //返回$result結果集裡的所有資料,返回的是一個二維數組.
3)或者
$result->fetch_assoc(); //返回一條資料,返回的是關聯陣列
》》練習的代碼(通過連結資料庫查出資料,做成表格)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>無標題文檔</title></head><body><?php //造連結化物件 $db =new MySQLi("localhost","root","517","mydb"); //判斷是否出錯 !mysqli_connect_error() or die("串連失敗"); //寫sql語句 $sql = "select * from Info"; //執行sql語句 $result = $db->query($sql); //處理查詢資料並顯示 echo "<table width=‘100%‘ border=‘1‘ cellspacing=‘0‘ cellpadding=‘0‘>"; echo"<tr><td>代號</td><td>姓名</td><td>性別</td><td>民族</td><td>生日</td></tr>"; while($row = $result->fetch_row()) { //處理性別(也可以用函數的方法處理) $sex = $row[2]?"男":"女"; //處理民族 $name = ShowNation($db,$row[3]); echo"<tr><td>{$row[0]}</td><td>{$row[1]}</td><td>{$sex}</td><td>{$name}</td><td>{$row[4]}</td></tr>"; } echo"</table>"; //做函數處理民族,函數的功能是傳入一個代號返回一個名稱 function ShowNation($db,$code) { //寫sql語句 $sql = "select Name from Nation where Code=‘{$code}‘"; //執行sql語句 $result =$db->query($sql); $jieguo = $result->fetch_row(); return $jieguo[0]; } ?></body></html>
》》查詢資料庫,用php實現下拉式清單
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>無標題文檔</title></head><body><select><?php //造連結化物件 $db =new MySQLi("localhost","root","517","mydb"); //判斷是否出錯 !mysqli_connect_error() or die("串連失敗"); //寫sql語句 $sql = "select * from Nation"; //執行sql語句 $result = $db->query($sql); //處理資料並顯示 $attr = $result->fetch_all(); //返回的二維資料 //遍曆二維數組顯示出來 for($i=0;$i<count($attr);$i++) { list($code,$name) = $attr[$i]; echo"<option value=‘{$code}‘>{$name}</option>"; }?></select></body></html>
備忘:每個資料庫都有一個使用者名稱,SqlServer裡面的超級管理員叫做SA(Super Administrator的簡寫),指擁有資料庫管理最高許可權的使用者;mysql的超級管理員是root。
執行的sql語句,如果是增刪改語句,執行之後返回的結果是true或者false.
快速鍵:選中需要移動的代碼,按Tab鍵可以向右移動,shift+Tab:可以向左移動
PHP -- 資料庫訪問