php - 没有从查询中获取数据。 PDO

标签 php mysql pdo

好的,所以我的问题是这段代码什么都不返回,至少它不打印任何东西。 唯一似乎有效的是 $user_email 打印用户电子邮件。

代码:

        $user_email = $_SESSION['user_email'];

        $query = $db->prepare("SELECT u.username, g.color, g.name FROM `user` u JOIN `group` g ON g.id = u.id WHERE u.email = :email");

        $query->bindParam(':email', $user_email, PDO::PARAM_STR);

        $query->execute();

        $row = $query->fetch();
        $user_username = $row['username'];
        $group_color = $row['color'];
        $group_name = $row['name'];
        print "Values: ".$row['username']." | ".$row['name']." <br>";

“用户”表包含 7 个不同的键:

id (bigint, primary key, auto_increment), group (int), email (varchar), password (varchar), username(varchar), name (varchar), verified (int).

“组”表包含 3 个不同的键:

id(bigint,主键,auto_increment),颜色(varchar),名称(varchar)。

这就是表格中的全部内容。

最佳答案

在我看来查询应该是

SELECT u.username, g.color, g.name
FROM `user` u
INNER JOIN `group` g
    ON u.`group` = g.id
WHERE u.email = :email

此外,由于 user.group 似乎是 group.id 的外键,它也应该是 bigint,而不是 int(外键应该与其目标主键的类型相同)。

还有...

group 对于表和列来说都是一个糟糕的名字。尽量避开 reserved words .我会为表使用 user_group,为列使用 group_id

关于php - 没有从查询中获取数据。 PDO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18841009/

相关文章:

php - 获取类中数据库连接错误

php - mysql 插入数据库注册页面示例?

php - 在将数据插入 MySQL 数据库之前在 PHP 上执行条件

javascript - 在 PHP 和 Javascript 中解析错误和 JSON 意外结束

php - PDO 语句中的变体字符在 IE9 中不起作用

php - 从 ngThumb 指令上传 AngularJS 文件(使用 angular-file-upload)

php - 电子邮件转发器无法连接 mySQL 数据库

php - 如何在 PHP 中遍历这个 json 解码数据?

c# - 使用 insert last_insert_ID 在 mysql 数据库中插入行

php - 如何复制 mySQL 表行但插入一个自定义值?