使用PHP从MySQL表中获取1个值

时间:2014-02-27 01:14:10

标签: php mysql sql pdo

我正在尝试为登录我网站的用户检索正确的user_id ...

$result = $conn->prepare("SELECT * FROM users WHERE email_address= :em AND password= :pw");
$result->bindParam(':em', $user);
$result->bindParam(':pw', $password);
$result->execute();
$rows = $result->fetch(PDO::FETCH_NUM);
if($rows > 0) {
    $_SESSION['loggedin'] = 1;
    $_SESSION['uid'] = $rows['user_id'];
}

我希望获得相关的user_id,并尝试使用$rows['user_id'];尝试这样做,但没有运气......

1 个答案:

答案 0 :(得分:2)

您应该使用PDO::FETCH_ASSOC代替PDO::FETCH_NUM

如果没有更多结果,fetch会返回false,所以你应该这样做:

$result->execute();
if ($row = $result->fetch(PDO::FETCH_ASSOC)) {
    $_SESSION['loggedin'] = 1;
    $_SESSION['uid'] = $rows['user_id'];
}