PHP脚本无法识别我的MySQL查询

时间:2018-11-06 13:00:54

标签: php mysql login

我是php和mysql的新手,我已经开始编写一个简单的社交媒体网络。因此,我目前正在我的login.php页面上工作,该页面似乎没有错误,但是它没有按预期方式工作,我认为这是因为查询未被识别为语句。即“密码”不应突出显示为关键字,而是数据库中的一个字段。我也知道我没有考虑注射。当我在浏览器中运行此程序时,没有错误,但是即使用户在数据库中,它也会返回“ User notregistered”。任何见解将非常感谢!

这是我的代码:

<?php
include('classes/DB.php');
if (isset($_POST['login'])) {
    $username = $_POST['username'];
    $password = $_POST['password'];
    if (DB::query('SELECT username FROM users WHERE username=:username', 
      array(':username'=>$username))) {
            if (password_verify($password, DB::query("SELECT password FROM 
      users WHERE username=:username", array(':username'=>$username))[0] 
      ['password'])) {
                    echo 'Logged in!';
            } else {
                    echo 'Incorrect Password!';
            }
    } else {
            echo 'User not registered!';
    }
}

这是我的DB.php类:

 <?php
  class DB {
    private static function connect() {
            $pdo = new PDO('mysql:host=127.0.0.1;dbname=SocialNetwork;charset=utf8', 'root', '');
            $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            return $pdo;
    }
    public static function query($query, $params = array()) {
            $statement = self::connect()->prepare($query);
            $statement->execute($params);
            if (explode(' ', $query)[0] == 'SELECT') {
            $data = $statement->fetchAll();
            return $data;
            }
    }
 }

1 个答案:

答案 0 :(得分:-2)

python setup.py build