對 解析變量的理解
數據庫的名稱和表的名稱不能重復
從結果中取出的數據 都是以數組的形式取出的
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 }
