0

私が持っているコードはこれです:

if(isset($_SESSION['id']) && isset($_SESSION['username'])){
    $user_status = $db->prepare("SELECT `user_status` FROM `users` WHERE `id` = :id AND `username` = :username");
    $user_status->bindValue(":id",$_SESSION['id'],PDO::PARAM_STR);
    $user_status->bindValue(":username",$_SESSION['username'],PDO::PARAM_STR);
    $user_status = $user_status->fetchColumn();

    if($user_status == 0){
        header("Location: /logout");
    }elseif($user_status == 8 || $user_status == 9){
        $links = '(<a href="/admin/index">Admin</a>)';
    }
}

$user_status の var_dump を実行すると、データベースのデフォルトの user_status であるため、「1」と表示されるべきときに「bool(false)」と表示されます。

ユーザーも禁止されているかどうかをチェックするログインスクリプトがあり、それは完全に正常に機能します。

$check_banned = $db->prepare("SELECT `user_status` FROM `users` WHERE `username` = :username");
$check_banned->bindValue(":username",$_POST['username'],PDO::PARAM_STR);
$check_banned->execute();
$check_banned = $check_banned->fetchColumn();
4

1 に答える 1

2

忘れたんですか?

$user_status->execute();
于 2013-05-26T22:28:17.970 に答える