两个sql查询合并:mysqli_num_rows返回0

时间:2016-01-05 10:54:56

标签: mysql sql sql-server mysqli

方案

我的sql数据库上有两个表:

凭证

    {
  "data": [
    {
      "id": "some ids here",
      "name": "Timeline Photos",
      "message": "she rocks!
... blabla
  }
}

请求

uid|passcode

我想要一个查询,首先检查用户是否有"凭证"匹配给定的uid,然后选择他们的密码和请求。

我的查询

reqid|req|uid

什么不工作

如果没有匹配" req"对于给定的uid但是有一个密码,mysqli_num_rows返回0,而我需要它返回1.

我的问题

如何解决此问题?

2 个答案:

答案 0 :(得分:1)

当其他(右)表

中没有结果时,您应该使用LEFT JOIN来获取输出
SELECT c.passcode, r.req
FROM credentials c
LEFT JOIN requests r ON c.uid = r.uid
WHERE c.uid=[uid];

答案 1 :(得分:0)

试试吧

   SELECT credentials.passcode, requests.req FROM credentials, requests WHERE credentials.uid=requests.uid