新的PDO请求始终超时

时间:2019-02-05 19:04:15

标签: php mysql pdo

我正在尝试构造一个脚本login.php-该脚本检查输入的用户名是否存在于数据库中,然后比较输入的密码和数据库中的密码是否匹配,并应打印这些操作的结果在网页上(目前)。

首先登录页面:

<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
require_once("scripts/config.php");
require_once("scripts/helperClass.php");
$username = strip_tags($_POST["username"]);
$password = strip_tags($_POST["password"]);
echo helperClass::checkCredentials($username, $password);
?>

现在帮助器类:(或至少是相关功能):

<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
class helperClass {
    public static function checkCredentials($UserName, $Password) {
        try {
            $pdo = new PDO("mysql:host=".mydbhost.";dbname=".mydbname, myuname, mydbpw);
            $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        }
        catch(PDOException $ex) {
            throw(new PDOException($ex->getMessage(), (int) $ex->getCode()));
        }
        $statement = $pdo->prepare("SELECT UserId, Password FROM ChatUsers WHERE (? = UserName) OR (? = E_Mail)");
        $statement->execute(array($UserName, $UserName));
        $foundUser = $statement->fetch(PDO::FETCH_ASSOC);
        if($foundUser) {
            $pwCorrect = $foundUser["Password"] == $Password;
            if(pwCorrect) {
                $statement = $pdo->prepare("UPDATE ChatUsers SET LoggedIn = true WHERE ? = UserId");
                $statement->execute(array($foundUser["UserId"]));
                return true;
            } 
            else {
                return false; 
            } 
        } 
        else {
            return false;
        }
    }
}
?>

config.php中,我定义了实际的连接数据。它在本地编译良好,但是随着请求超时,最终以PDOException崩溃。 (我的PHP编辑器具有pDO支持,因此,即使在本地连接到外部数据库也应该起作用)。在网上,我只会看到白屏的死亡画面。

我现在实现了错误显示,并且在我得到以前没有提示的其他通知时可以看到它正在工作。从登录页面加载所需的时间开始,将执行SQL查询,但该页面仍为空白,没有错误,没有返回。还有其他我忽略的东西吗?

0 个答案:

没有答案