因此,我有一个用户已经注册了自己的电子邮件地址。它保存在用户表中。现在,这个用户可以使用日历预订系统预订一个类(在这里,他们必须再次手动输入电子邮件地址),并且这些数据存储在一个订票表中。现在的问题是,我想显示所有的预订,具体用户已经做,选择他们的电子邮件地址(可以)
echo $userRow['email'];它可以正常工作,并显示登录用户的正确电子邮件地址。现在,我如何根据这个电子邮件地址选择预订?我试过这样的方法:
$relevantEmail = $userRow['email'];
$get_booking = mysql_query("SELECT date, start
FROM bookings
JOIN users
ON bookings.email = '$relevantEmail' " );
while($row = mysql_fetch_row($get_booking))
{
echo $row[0] . " " . $row[1] ;
echo "\r\n";
}但是,这不知怎么地输出了非常奇怪的结果--只取出3个已预订的类,并将它们分配给3个用户--每个用户都得到每个类。
某些东西,如:
乔-一级 刺-1级 乔希-一级 乔-二级 刺-2级 乔希-二级 乔-三级 刺-3级 乔希-三级
请帮帮忙
发布于 2016-11-28 15:21:14
由于您没有将Users用于任何事情,所以请删除联接,只需使用WHERE
$get_booking = mysql_query("SELECT date, start
FROM bookings
WHERE bookings.email = '$relevantEmail' " );请注意,mysql_*函数在PHP7中被删除,在以前的版本中被废弃。切换到PDO或mysqli,并利用准备好的语句和参数绑定。这将阻止您打开SQL注入。
发布于 2016-11-28 15:55:40
@aynber似乎无法给你贴上标签.是的,将JOIN更改为在哪里完成的工作,只是发现我在前面的代码中有一点不匹配,所以它没有按预期工作。现在很有魅力,非常感谢
https://stackoverflow.com/questions/40847736
复制相似问题