mysq_php操作mysql_登錄注冊案例

作者: 魯智深 分類: PHP 發布時間: 2015-09-25 11:49

php操作mysql

開啟擴展php_mysql.dll,在php.ini中,去掉前面的分號。

php操作mysql主要分成如下步驟:

1、連接mysql數據庫

返回資源 mysql_connect(地址,用戶名,密碼);

resourse mysql_connect(“localhost”,”usename”,”passwrod”);

1
2
          //連接數據庫
          $con = mysql_connect("localhost","root","");

2、選擇一個數據庫

bool mysql_select_db($dbname,$con);

1
2
3
4
         //選擇數據庫
     $dbname = "car";
     $res = mysql_select_db($dbname,$con);
     mysql_query("set names utf8");

3、執行sql

resource mysql_query(sql);

1
2
3
4
5
6
7
8
     //寫sql語句
     $searchSql = 'select * from books';
     //插入sql語句
     $insertSql = "insert into books(bName,btypeId,publishing,price,pubDate,author,ISBN) values
     ('php','2','航空出版社',58,'2014-05-11','魯智深',755474244)"
;
     
     //執行sql
     $res = mysql_query($searchSql);

4、從mysql_query()結果集解析數據

array mysql_fetch_row(查詢出來的resource);

1
2
3
4
5
6
7
     //定義數組
     $resArr = array();
     //獲取記錄
     /*while($item = mysql_fetch_row($res)){
         $resArr[] = $item;
     }
     var_dump($resArr);*/

說明:每次執行,只能從結果集中取出一條記錄,所以需要while重復執行

返回值:索引數組

array mysql_fetch_assoc(查詢出來的resource);

1
2
3
4
5
     //獲取記錄
     /*while($item = mysql_fetch_assoc($res)){
         $resArr[] = $item;
     }
     var_dump($resArr);*/

說明:每次執行,只能從結果集中取出一條記錄,所以需要while重復執行

返回值:關聯數組

array mysql_fetch_array(查詢出來的resource);

1
2
3
4
5
     //獲取記錄
     while($item = mysql_fetch_array($res)){
         $resArr[] = $item;
     }
     var_dump($resArr);

說明:每次執行,只能從結果集中取出一條記錄,所以需要while重復執行

返回值:既有關聯數組,又有索引數組

5、獲取結果集的記錄數

int mysql_num_rows(查詢);

1
2
3
     //查看結果集記錄
     $titemNum = mysql_num_rows($res);
     var_dump($titemNum);

6、返回被影響的行數

int mysql_affected_rows(mysql連接成功返回的resource);

1
2
3
     //返回被影響的行數
     $rowNum = mysql_affected_rows($con);
     var_dump($rowNum);

注意:統計的是最后一條插入,刪除,修改,查詢語句影響行數

7、釋放結果集資源

mysql_free_result(查詢出來的resource);

1
2
3
     //釋放結果集資源
     $res = mysql_free_result($res);
     var_dump($res);

8、斷開mysql數據庫連接

bool mysql_close(連接返回的資源);

1
2
3
     //斷開mysql數據庫連接
     $res = mysql_close($con);
     var_dump($res);

登錄注冊案例

案例用戶登錄注冊(前臺文件)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
     header("Content-type:text/html;charset=utf-8");
     if(isset($_GET['action'])){
         $action = $_GET['action'];
     }else{
         echo "<a href='index.php?action=log'>登錄</a> | <a href='index.php?action=reg'>注冊</a>";
         exit();
     }
?>

<?php if($action == "reg"){?>
<form action="doaction.php" method="post">
   用戶名:<input type="text" name="username"/><br/>
   密碼:<input type="password" name="password"/><br/>
   <input type="hidden" name="action" value="reg"/><!--隱藏域-->
   <input type="submit" value="注冊">
</form>
<?php}else{?>
<form action="doaction.php" method="post">
   用戶名:<input type="text" name="username"/><br/>
   密碼:<input type="password" name="password"/><br/>
   <input type="hidden" name="action" value="long"/><!--隱藏域-->
   <input type="submit" value="登錄">
</form>
<?php }?>

案例用戶登錄注冊(php執行文件)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
     $username = $_POST['username'];
     $password = $_POST['password'];
     
     $link = mysql_connect("localhost","root","");
     mysql_select_db("car",$link);
     $action = $_POST['action'];
     //執行注冊
     if($action == 'reg'){
         $regSql = "insert into user(username,password) values('{$username}','{$password}')";
         $res = mysql_query($regSql);
         echo $res?"恭喜你,注冊成功":"注冊失敗";
     }else{
         //執行登錄
         $sreachSql = "select * from user where username='{$username}' and password='{$password}'";
         $res = mysql_query($sreachSql);
         $ifuser = mysql_num_rows($res);
         if(!$ifuser){
             echo "用戶名或密碼有誤";
         }else{
             //設置會話
             echo "登錄成功";
             //一般會header到一個頁面
         }
     }
?>

如果覺得我的文章對您有用,請隨意打賞。您的支持將鼓勵我繼續創作!

發表評論

電子郵件地址不會被公開。 必填項已用*標注

中了亿元大奖