php資料訪問增刪查

來源:互聯網
上載者:User

標籤:info   mysqli   運算   login   bsp   對話   cti   布爾   val   

1、先做一個登陸介面

<form action="chuli.php" method="post">    <div>使用者名稱:<input type="text" name="uid" /></div>    <div>密碼:<input type="text" name="pwd" /></div>    <div><input type="submit" name="" value="確定" /></div></form>

2、訪問資料庫進行帳號密碼驗證(拿使用者名稱查密碼,再進行驗證)

$uid = $_POST["uid"];$pwd = $_POST["pwd"];$db = new MySQLi("localhost","root","159357","shuiguo");$sql = "select password from login where username=‘{$uid}‘";  //當用此方法時會出現不輸入資料就能直接登入,所以要加if判斷密碼不等於空$reslut = $db->query($sql);$n = $reslut->fetch_row();if($uid !="" && $pwd != "")          //判斷使用者名稱跟密碼不等於空{    if($n[0]==$pwd)                    //當用此方法時會出現不輸入資料就能直接登入,所以要加if判斷密碼不等於空    {        header("location:main.php");    }    else    {        echo "使用者名稱或密碼錯誤!";    }}else{    echo "使用者名稱密碼不可為空";}

3、登入後跳轉到首頁:通過查資料庫裡面的內容,返回一張表、增加操作列(刪除)

<table width="100%" border="1" cellpadding="0" cellspacing="0">    <tr>        <td>代號</td>        <td>姓名</td>        <td>性別</td>        <td>民族</td>        <td>生日</td>        <td>操作</td>    </tr><?php$db = new MySQLi("localhost","root","159357","renyuanxinxi");$sql = "select * from info";$result = $db->query($sql);$attr = $result->fetch_all();foreach($attr as $v){    $sex = $v[2]?"男":"女";                //三維運算子        $name = NationName($v[3]);    /*$sname = "select name from nation where code=‘{$v[3]}‘";        //根據民族代號查詢民族名稱        $rname = $db->query($sname);        //執行返回rname結果集        $aname = $rname->fetch_row();*/        //返回數組aname 裡面存民族名稱  查到了一個        echo "<tr>";    echo "<td>{$v[0]}</td>          <td>{$v[1]}</td>          <td>{$sex}</td>          <td>{$name}</td>          <td>{$v[4]}</td>          <td><a href=‘shanchu.php?c={$v[0]}‘ onclick=\"return confirm(‘主人真的不要我了嗎?‘)\">刪除</a></td>";        
//傳主索引值c,根據主索引值刪除資料
 //confirm 帶確定的對話方塊(如果使用者點確定就返回true 點取消就返回false) // \反斜線 逸出字元 //第一種方法:直接寫<td> /*foreach($v as $v1) //第二種方法:用迴圈代替<td> { echo "<td>{$v1}</td>"; } echo "</tr>";*/}function NationName($code) //如果覺得上面寫的比較亂,可以用封裝 //給一個民族代號返回民族名稱{ $db = new MySQLi("localhost","root","159357","renyuanxinxi"); $sql = "select name from nation where code=‘{$code}‘"; $result = $db->query($sql); $attr = $result->fetch_row(); return $attr[0];}?></table><a href="add.php"><input type="button" value="點我添加" /></a>

4、刪除操作(根據主索引值來進行單條刪除)

<?php$code = $_GET["c"];$db = new MySQLi("localhost","root","159357","renyuanxinxi");$sql = "delete from info where code=‘{$code}‘";$r = $db->query($sql);if($r){    header("location:main.php");}else{    echo "刪除失敗!";}

5、做一個添加頁面(民族列訪問資料庫,建立下拉式清單)

<form action="addchuli.php" method="post">    <div>代號:<input type="text" name="code" /></div>    <div>姓名:<input type="text" name="name" /></div>    <div>性別:    <input type="radio" name="sex" value="1" checked="checked" />男    &nbsp;    <input type="radio" name="sex" value="0" />女    </div>    <div>民族:    <select name="nation">        <?php        $db = new MySQLi("localhost","root","159357","renyuanxinxi");        $sql = "select * from nation";                    //尋找民族資訊        $result = $db->query($sql);        $result = fetch_all();                foreach($attr as $v)        {            echo "<option value=‘{$v[0]}‘>{$v[1]}</option>";                //所有表單提交的是value值        }        ?>    </select>    </div>    <div>生日:<input type="text" name="birthday" /></div>        <div><input type="submit" value="添加"</div></form>

6、設定添加頁面,更加人性化(使用者不知道怎麼填,可以做選擇等)

$code = $_POST["code"];$name = $_POST["name"];$sex = $_POST["sex"];$nation = $_POST["nation"];$birthday = $_POST["birthday"];$db = new MySQLi("localhost","root","159357","renyuanxinxi");$sql = "insert into info values(‘{$code}‘,‘{$name}‘,{$sex},‘{$nation}‘,‘{$birthday}‘)";        //‘{$name}‘字串往布爾型裡面扔永遠是true$db->query($sql);header("location:main.php");        //在添加性別與民族的時候要寫 1或者0  民族代號

小插曲(sql注入攻擊)

sql語句代碼       $sql = "select count(*) from login where username=‘{$uid}‘ and password=‘{$pwd}‘"用特定字串登入   a‘ or ‘1‘=‘1解決方案針對php來說:1、最佳化語句    2、處理使用者輸入內容,用函數判斷有無特殊符號   3、PDO方法:分兩次發送

 

php資料訪問增刪查

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.