坚持简单的PHP PDO

时间:2013-11-20 00:26:49

标签: php mysql pdo

过去半小时我一直在玩弄这个,并且无法弄清楚我的生活有什么不妥。

自从我将这个添加到我的PHP文档后,我得到一个空白页面。注意,它在PDO上失败了。我无论如何都不是PDO的新手,但由于某种原因,这种失败让我很难过。所有数据都与数据库相关联。

页面返回空白,错误日志中没有错误。

$value = "9EED4A5E4A54DC41195C8949C87ABA5FD6C035CD795188E179F9EF76FC7154FF";

if (!empty($_COOKIE['hash'])){
    $dbuser = "user";
    $dbpass = "pass";
    $dbh = new PDO('mysql:host=localhost;dbname=dbname', $dbuser, $dbpass);
    $stmt = $dbh->query('SELECT id FROM users WHERE hash = :hash');
    $stmt->bindParam(':hash', $value);
    $_SESSION['userid'] = $stmt->fetchColumn();

}

请注意,Cookie是在上一页中设置的。 if语句有效,而不是专业

1 个答案:

答案 0 :(得分:2)

query立即执行查询。您要使用的方法是prepare。在绑定参数后,您还需要调用execute

$stmt = $dbh->prepare($query);
$stmt->bindParam(":hash", $value);
$stmt->execute();

如果PDO失败,您可能还应该为其启用错误报告。

$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);