【问题标题】:Not Displaying Results with Inner Join 3 Tables不显示内连接 3 表的结果
【发布时间】:2017-10-05 16:28:18
【问题描述】:

我正在尝试内部连接来自 OS TICKET 数据库的 3 个表。

我使用的代码是$qry = "SELECT qbcd_user_email.address, qbcd_user_email.user_id FROM qbcd_user_email INNER JOIN qbcd_user ON qbcd_user.id = qbcd_user_email.user_id INNER JOIN qbcd_ticket ON qbcd_ticket.user_id WHERE (qbcd_user_email.address = '.$email.') ORDER BY qbcd_ticket.ticket_id DESC";

代码正在返回:

string(287) "SELECT qbcd_user_email.address, qbcd_user_email.user_id FROM qbcd_user_email INNER JOIN qbcd_user ON qbcd_user.id = qbcd_user_email.user_id INNER JOIN qbcd_ticket ON qbcd_ticket.user_id WHERE (qbcd_user_email.address = '.patrick.kershner@gmail.com.') ORDER BY qbcd_ticket.ticket_id DESC"

但它在 while 子句中没有显示任何内容:

while ($row = mysqli_fetch_assoc($result)){
echo $row['qbcd_ticket.number]."<br>";} 

我不确定发生了什么,或者为什么它不显示结果。

有人可以查看我上面的代码并进行验证吗?

【问题讨论】:

  • 你对$result变量做了什么尝试?
  • $qry = "SELECT qbcd_user_email.address, qbcd_user_email.user_id, qbcd_ticket.number, qbcd_ticket.id FROM qbcd_user_email INNER JOIN qbcd_user ON qbcd_user.id = qbcd_user_email.user_id INNER JOIN qbcd_ticket ON qbcd_ticket.user_id WHERE (qbcd_user_email.address = '$email') ORDER BY qbcd_ticket.ticket_id DESC"; $result = mysqli_query($link, $qry); var_dump($qry)."&lt;br&gt;"; while ($row = mysqli_fetch_assoc($result)){ echo $row['qbcd_ticket.number']."&lt;br&gt;"; }

标签: php mysqli inner-join


【解决方案1】:

尝试将数字添加到您选择的属性中

$qry = "SELECT qbcd_user_email.address, qbcd_user_email.user_id, qbcd_ticket.number FROM qbcd_user_email INNER JOIN qbcd_user ON qbcd_user.id = qbcd_user_email.user_id INNER JOIN  qbcd_ticket ON qbcd_ticket.user_id WHERE (qbcd_user_email.address = '.$email.') ORDER BY qbcd_ticket.ticket_id DESC"

【讨论】:

  • 我试过了,并更新了它,我认为它在我的 where 循环中,或者在实际的 qry 本身中。我将在下面的评论中添加表格。
【解决方案2】:

第一个表是:

qbcd_ticket:
rows:

ticket_id | number | user_id | user_email_id | status_id | dept_id | and more...
5     |  762086|   2     |      0    |      1|  1  |    


the next is qbcd_user_email
rows:
id | user_id | flags | address
2  |    2    |  0    |  example@demo.com

the last is: qbcd_user
id | org_id | default_email_id | status | name              | created             | updated 
2  |    0   |   2          |     0  |  Patrick Kershner | 2017-03-03 10:44:28 | 2017-03-03 10:44:28

我需要显示的信息是与客户相关联的所有相应票证,其中它 = 电子邮件地址。

唯一不会改变的静态变量是$_SESSION['user_email'];,它是通过登录到会员区来记录的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-04
    • 1970-01-01
    • 1970-01-01
    • 2014-11-30
    相关资源
    最近更新 更多