如图,$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{
// 没找到
}
}
慕莱坞森
TA贡献1810条经验 获得超4个赞
这。。。。你接受到了post过来的数据,下一步就是连接数据库,然后访问数据库取数据了吧,然后你通过post过来的id去查询对应数据,然后比较post的数据和mysql的数据。。。。
php操作mysql
胡子哥哥
TA贡献1825条经验 获得超6个赞
php
与 mysql
的交互,我个人使用的是 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 {
// 验证失败
}
- 3 回答
- 0 关注
- 728 浏览
添加回答
举报
0/150
提交
取消