對 解析變量的理解
數據庫的名稱和表的名稱不能重復
從結果中取出的數據 都是以數組的形式取出的
1.PHP查詢數據庫中的某條信息
//PHP鏈接數據庫 /*1.造鏈接對象 IP地址 用戶名 密碼 數據庫名稱--*/ $db=new MySQLi("localhost","root","123","zhousan"); //判斷鏈接是否出錯 mysqli_connect_error()?die("鏈接失敗"):"鏈接成功";//三步運算符 //准備sql語句 $sql="select*from fruit"; //4執行sql 語句 返回結果集對象 $result=$db->query($sql); //取出所有數據 $rr=$result->fetch_all();//返回所有數據 並且以二維數組的形式存在 var_dump($rr);//也可以用遍歷集合(嵌套) 或者循環取出 數據內容
2.通過PHP在數據庫中添加 信息
$obj=new mysqli("localhost","root","123","zhousan"); mysqli_connect_error()?die("錯誤"): print "成功"; $tt="insert into fruit values('w','f',2.1,'sd',2,'sd')";//insert 語句 如果檢查錯誤可以復制到 mysqle服務器下面 看是否運行 $rt=$obj->query($tt); var_dump($rt);// 返回 bool 值 true 或 false //$yy=$rt->fetch_all(); 這條語句 不能被執行 執行會被報錯
3.從結果集里面取數據
$attr = $result->fetch_all(); //返回所有數據,並且以二維數組的方式存在 三個可選參數:MYSQLI_ASSOC返回關聯數組,MYSQLI_NUM返回索引數組,MYSQLI_BOTH返回索引和關聯都有的,使用的時候不需要加雙引號 $attr = $result->fetch_array();//返回當前這條數據,返回的是一維數組,默認是索引關聯都有 $attr = $result->fetch_assoc(); //返回當前這條數據,返回的是一維關聯數組 $attr = $result->fetch_object(); //返回當前這條數據的對象 $attr = $result->fetch_row(); //返回當前這條數據,返回的是索引數組
4.遍歷集合取數據(注意while里面的數據)
$connect1=new mysqli("localhost","root","123","zhousan"); $langu="select*from fruit"; $gg=$connect1->query($langu); while($attr = $gg->fetch_row()) { echo "<div>{$attr[0]}--{$attr[1]}--{$attr[2]}--{$attr[3]}--{$attr[4]}</div>"; }
3.登錄界面 分別建立(表格 登錄界面 提交界面)

1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <title>無標題文檔</title> 6 </head> 7 8 <body> 9 <h1>登錄頁面</h1> 10 <form action="./dengluchuli.php" method="post"> 11 <div>用戶名:<input type="text" name="uid" /></div> 12 <div>密碼:<input type="password" name="pwd" /></div> 13 <div><input type="submit" value="登錄" /></div> 14 </form> 15 </body> 16 </html>

1 <?php 2 $uid = $_POST["uid"]; 3 $pwd = $_POST["pwd"]; 4 5 //1.造連接對象 6 $db = new MySQLi("localhost","root","123","mydb"); 7 8 //2.寫SQL語句 9 $sql = "select password from login where username='{$uid}'"; 10 11 //3.執行 12 $reslut = $db->query($sql); 13 14 //4.取數據 15 $attr = $reslut->fetch_row(); 16 17 if($attr[0]==$pwd && !empty($pwd)) 18 { 19 echo "登錄成功!"; 20 } 21 else 22 { 23 echo "登錄失敗!"; 24 } 25 26 //SQL注入攻擊 27 //1.過濾用戶的輸入 28 //2.使用預處理語句 29 //3.寫代碼的時候盡量避免
4.注冊(注冊界面 提交界面 表格) 注意不為空

1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <title>無標題文檔</title> 6 </head> 7 8 <body> 9 10 <h1>注冊頁面</h1> 11 12 <form action="./zhucechuli.php" method="post"> 13 14 <div>用戶名:<input type="text" name="uid" /></div> 15 <div>密碼:<input type="text" name="pwd" /></div> 16 17 <div>姓名:<input type="text" name="name" /></div> 18 <div><input type="submit" value="注冊" /></div> 19 20 </form> 21 </body> 22 </html>

1 <?php 2 3 $uid = $_POST["uid"]; 4 $pwd = $_POST["pwd"]; 5 $name = $_POST["name"]; 6 7 //1.造連接對象 8 $db = new MySQLi("localhost","root","123","mydb"); 9 10 //2.寫SQL語句 11 $sql = "insert into login values('{$uid}','{$name}','{$pwd}',0)"; 12 13 //3.執行 14 $r = $db->query($sql); 15 16 if($r) 17 { 18 echo "注冊成功!"; 19 } 20 else 21 { 22 echo "注冊失敗!"; 23 }