【发布时间】:2013-09-21 08:52:34
【问题描述】:
好的,所以我的问题是这段代码什么也不返回,至少它不打印任何东西。 唯一似乎有效的是 $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,主键,auto_increment),组(int),电子邮件(varchar),密码(varchar),用户名(varchar),名称(varchar),验证(int)。
“组”表包含 3 个不同的键:
id(bigint、主键、auto_increment)、颜色(varchar)、名称(varchar)。
这就是表格里面的全部内容。
【问题讨论】:
-
我认为
u JOIN group g ON g.id = u.id WHERE这一行应该是u JOIN group g ON g.id = u.group_id WHERE你可能是加入了错误列的表。 -
是的,但即使我分开以便
user获得它自己的值,它仍然没有给我任何东西。 -
当你在 phpadmin 进行测试查询时,查询结果是什么? (我正在尝试将 PDO 内容与潜在的查询问题分开......)
-
好的,我按照你的要求做了,我必须在电子邮件所在的位置添加“才能使其正常工作。这相关吗?
-
尝试简单地查询 SELECT u.username, g.color, g.name FROM
useru JOINgroupg ON g.id = u.id in phpMyAdmin。我同意 Dipesh 认为这是一个查询问题。您可以使用user和group的表格详细信息编辑您的问题吗?