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

标签 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']; 来获取相关的 user_id,但没有成功...

最佳答案

您应该使用 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'];
}

关于php - 使用 PHP 从 MySQL 表中获取 1 个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22057060/

相关文章:

php - 在 PHP 中排序时 Mysql 字段值被截断

PHP eval(gzinflate(base64_decode(..))) hack - 如何防止它再次发生?

php - PHP foreach循环中的多个索引变量

javascript - 什么是普遍认可的电话号码格式

php - 从 clumon ""中选择结果并加入另一个表

mysql - SQL 中的 if 语句

php - Laravel:如何在迁移中运行控制台命令?

java - 手动设置自动生成的 id 属性

mysql - 您将如何在 Rails 应用程序的数据库/模型中存储营业时间?

mysql - FIND_IN_SET 和截断不正确的 DOUBLE 值错误