如圖,$data為拿到的post數(shù)據(jù),如何將$data里面的username和password與mysql里的數(shù)據(jù)進(jìn)行匹配
3 回答

PIPIONE
TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超9個(gè)贊
在你得到POST數(shù)據(jù)之后,可以進(jìn)行通過(guò)Mysqli或者PDO進(jìn)行數(shù)據(jù)匹配,現(xiàn)在比較流行用PDO,因?yàn)樗С值臄?shù)據(jù)庫(kù)類(lèi)型多,適合項(xiàng)目的擴(kuò)展。
// 基本的處理就是判斷數(shù)據(jù)是否存在
if (isset($_POST['username']) && isset($_POST['password']) ){
// 鏈接數(shù)據(jù)庫(kù)
$db = new PDO('mysql:host=host;dbname=name', 'username', 'password');
// 預(yù)處理查詢(xún)語(yǔ)句
$query = $db->prepare("SELECT * FROM login WHERE username=:username AND password=:password");
// 這里要做個(gè)簡(jiǎn)單的處理 清理干凈POST數(shù)據(jù)
$query->bindValue(':username', trim($_POST['username'])));
$query->bindValue(':password', trim($_POST['password']));
// * 小說(shuō)明,如果你直接把變量帶入到execute()函數(shù)里面也是可以的,但是execute()會(huì)把所有變量強(qiáng)制變成字串,對(duì)于規(guī)范的開(kāi)發(fā),最好還是保留數(shù)據(jù)本事的類(lèi)型。純個(gè)人意見(jiàn),僅供參考。
$query->execute();
if( $query->rowCount() > 0 ){
// 找到匹配用戶(hù)
}else{
// 沒(méi)找到
}
}

慕萊塢森
TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊
這。。。。你接受到了post過(guò)來(lái)的數(shù)據(jù),下一步就是連接數(shù)據(jù)庫(kù),然后訪問(wèn)數(shù)據(jù)庫(kù)取數(shù)據(jù)了吧,然后你通過(guò)post過(guò)來(lái)的id去查詢(xún)對(duì)應(yīng)數(shù)據(jù),然后比較post的數(shù)據(jù)和mysql的數(shù)據(jù)。。。。
php操作mysql

胡子哥哥
TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超6個(gè)贊
php
與 mysql
的交互,我個(gè)人使用的是 pdo。
$pdo = new PDO('mysql:dbname=testdb;host=127.0.0.1' , 'root' , '123456');
// 使用預(yù)處理語(yǔ)句
$stmt = $pdo->prepare("select count(*) as `count` from user where username = :username and password = :password");
$stmt->execute([
':usename' => $_POST['username'] ,
':password' => $_POST['password']
]);
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
$count = $res[0]['count']
// 數(shù)量
var_dump($count);
if ($count > 0) {
// 驗(yàn)證成功
} else {
// 驗(yàn)證失敗
}
- 3 回答
- 0 關(guān)注
- 751 瀏覽
添加回答
舉報(bào)
0/150
提交
取消