为了账号安全,请及时绑定邮箱和手机立即绑定

php获取到的post数据如何与mysql数据进行匹配

php获取到的post数据如何与mysql数据进行匹配

PHP
慕虎7371278 2019-03-06 18:59:11
如图,$data为拿到的post数据,如何将$data里面的username和password与mysql里的数据进行匹配
查看完整描述

3 回答

?
PIPIONE

TA贡献1829条经验 获得超9个赞

在你得到POST数据之后,可以进行通过Mysqli或者PDO进行数据匹配,现在比较流行用PDO,因为它支持的数据库类型多,适合项目的扩展。

// 基本的处理就是判断数据是否存在
if (isset($_POST['username']) && isset($_POST['password']) ){
    
    // 链接数据库
    $db = new PDO('mysql:host=host;dbname=name', 'username', 'password');
    // 预处理查询语句
    $query = $db->prepare("SELECT * FROM login WHERE username=:username AND password=:password");
    
    // 这里要做个简单的处理 清理干净POST数据
    $query->bindValue(':username', trim($_POST['username'])));
    $query->bindValue(':password', trim($_POST['password']));
    
    // * 小说明,如果你直接把变量带入到execute()函数里面也是可以的,但是execute()会把所有变量强制变成字串,对于规范的开发,最好还是保留数据本事的类型。纯个人意见,仅供参考。
    $query->execute();

    if( $query->rowCount() > 0 ){
        // 找到匹配用户
    }else{
        // 没找到
    }
}
查看完整回答
反对 回复 2019-03-18
?
慕莱坞森

TA贡献1810条经验 获得超4个赞

这。。。。你接受到了post过来的数据,下一步就是连接数据库,然后访问数据库取数据了吧,然后你通过post过来的id去查询对应数据,然后比较post的数据和mysql的数据。。。。
php操作mysql

查看完整回答
反对 回复 2019-03-18
?
胡子哥哥

TA贡献1825条经验 获得超6个赞

phpmysql 的交互,我个人使用的是 pdo

$pdo = new PDO('mysql:dbname=testdb;host=127.0.0.1' , 'root' , '123456');
// 使用预处理语句
$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']
// 数量
var_dump($count);

if ($count > 0) {
    // 验证成功
} else {
    // 验证失败
}

查看完整回答
反对 回复 2019-03-18
  • 3 回答
  • 0 关注
  • 728 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信