亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

能幫我看看咩,有幾句不太懂什么意思QWQ

能幫我看看咩,有幾句不太懂什么意思QWQ

PHP
Momo_____ 2017-06-03 17:00:04
<?php$username = $_POST['username'];$password = $_POST['password'];if (strlen($username) ==0 || strlen($password) == 0) {?? ?echo "用戶名和密碼不能為空,<a href='login.htm'>點擊</a>重新輸入";}else{?? ?$link = mysqli_connect('localhost','root','','dis');?? ?if(!$link) die("數據庫連接失敗");?? ?$sql = "SELECT * FROM user WHERE username='{$username}' AND password='$password'";?? ?$result = mysqli_query($link, $sql);?? ?if(!$result) die("數據庫查詢錯誤".$sql);?? ?$rows = mysqli_num_rows($result);?? ?if ($rows == 1) {?? ??? ?$user = mysqli_fetch_array($result, MYSQLI_ASSOC);?? ??? ?// var_dump($user);?? ??? ?$uid = $user['uid'];?? ??? ?setcookie('login',1,time()+60*60);?? ??? ?setcookie('username', $username, time()+60*10);?? ??? ?setcookie('uid',$uid,time()+60*60);?? ??? ?header("Location:index.php");?? ?}else{?? ??? ?echo "用戶名與密碼匹配,請重新輸入";?? ?}}?>這是登陸的php,我不太懂這一部分??? if ($rows == 1) {?? ??? ?$user = mysqli_fetch_array($result, MYSQLI_ASSOC);?? ??? ?// var_dump($user);?? ??? ?$uid = $user['uid'];?? ??? ?setcookie('login',1,time()+60*60);?? ??? ?setcookie('username', $username, time()+60*10);?? ??? ?setcookie('uid',$uid,time()+60*60);}這段代碼是怎么將密碼和用戶對應起來,密碼不對是怎么驗證出來的呢?求助~~~TAT蟹蟹
查看完整描述

1 回答

已采納
?
我是新手_請多指教

TA貢獻140條經驗 獲得超79個贊

首先mysqli_query針對select查詢執行的結果是返回符合$sql語句的結果集(也就是有多少條數據滿足用戶名與密碼與數據庫上的都相等)。

如果執行sql語句后沒有符合條件的結果集或者sql語句寫錯,$result都會為false,!取反為真執行數據庫查詢報錯。

如果執行sql語句有結果集,那么mysqli_num_rows這個函數是返回結果集中行的數量,也就是說$rows這個變量如果只有一條記錄符合要求的話(因為如果$rows不等于1意味著用戶名和密碼都一樣的人有多個記錄,就沒辦法確定具體是誰登錄的了),接著就執行mysqli_fetch_array函數返回一個關聯數組(第二參數指定)存在$user變量里,后面就是設置cookie了,

至于你的問題,如果用戶名與密碼跟數據庫對不上的話或者記錄不唯一的話就執行else分支了。也不會有緩存了

查看完整回答
1 反對 回復 2017-06-03
  • Momo_____
    Momo_____
    嘻嘻,謝謝你~~~~
  • 我是新手_請多指教
    我是新手_請多指教
    修正一下,執行select的sql語句后如果是空的結果集,$result不為false,也就是不會報數據庫查詢錯誤,如果查不到匹配的數據$rows為0.
  • Momo_____
    Momo_____
    嗯吶,蟹蟹!好喜歡你這種認真的態度。
  • 1 回答
  • 0 關注
  • 1683 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號