PHP 鏈接數據庫1(連接數據庫&簡單的登錄注冊)


對 解析變量的理解

數據庫的名稱和表的名稱不能重復

從結果中取出的數據   都是以數組的形式取出的

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.寫代碼的時候盡量避免
dengluchuli.php

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 }
zhucechuli.php

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM