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

我的 php 代码不检查数据库数据

我的 php 代码不检查数据库数据

PHP
慕尼黑的夜晚无繁华 2023-08-19 17:51:01
我希望这段代码检查表单登录是否$name在$password数据库中,如果是,则显示,echo "Hello  ".$name;如果不是echo "You are not in database";,但问题是它总是显示真相。感谢您的回答,抱歉我的英语)    include "db.php";    $db = db();    /*print_r($db);*/    $name = $_POST["name"];    $password = $_POST["password"];    $qur = "SELECT * FROM login WHERE name ='".$name."' AND password =  '".$password."'";    $data_from_table = $db->query($qur);    if($data_from_table == true)    {      echo "Hello  ".$name;    }    else    {      echo "You are not in database";    }
查看完整描述

3 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

$data_from_table 不是 true,而是查询的结果对象。但如果用户不在数据库中,则为 false,因为没有结果。将其更改为

if($data_from_table!==false) {

一些善意的建议:永远不要将密码以真实文本形式保存在数据库中,我的意思是像以前一样。


查看完整回答
反对 回复 2023-08-19
?
千巷猫影

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

根据文档,PDO::Query 函数返回一个PDOStatement对象,如果效果不佳,则返回 false。为什么你是真的。

为什么你用 true 检查它,尝试用 false 检查它,这样如果它不是 false,你就可以抓住你的$name


查看完整回答
反对 回复 2023-08-19
?
饮歌长啸

TA贡献1951条经验 获得超3个赞

  1. PHP新版本mysql不再维护,使用PDO::Query函数

  2. 查看返回的数据$data_from_table,是一个数据集


查看完整回答
反对 回复 2023-08-19
  • 3 回答
  • 0 关注
  • 112 浏览

添加回答

举报

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