关于连接的PHP MySQL查询
我有一个新的PHP MySQL问题,我有2个表、成员和消息 表“成员”关于连接的PHP MySQL查询,php,mysql,sql,Php,Mysql,Sql,我有一个新的PHP MySQL问题,我有2个表、成员和消息 表“成员” +-----------+------+ | MEMBER_ID | NAME | +-----------+------+ | 1 | Bob | | 2 | Ted | | 3 | Tom | +-----------+------+ 表“消息” +----+------------+--------------+--------------------+ | ID
+-----------+------+
| MEMBER_ID | NAME |
+-----------+------+
| 1 | Bob |
| 2 | Ted |
| 3 | Tom |
+-----------+------+
表“消息”
+----+------------+--------------+--------------------+
| ID | SENDERS_ID | RECEIVERS_ID | MESSAGE |
+----+------------+--------------+--------------------+
| 1 | 1 | 3 | Hello Tom from Bob |
| 2 | 2 | 3 | Hello Tom from Ted |
| 3 | 2 | 1 | Hello Bob from Ted |
+----+------------+--------------+--------------------+
我想在Tom只有成员的情况下进行查询。成员id
可以获取他的所有邮件以及发件人的姓名,如下所示:
+------+--------------------+
| name | message |
+------+--------------------+
| Bob | Hello Tom from Bob |
| Ted | Hello Tom from Ted |
+------+--------------------+
我读过一些连接示例,但知道如何将它们实现到MySQL语句中
我可以很容易地获得Tom的会员身份证,但不知道如何进一步进行。
我还想以数组的形式返回结果
public function getMessages($member_id) {
$result = mysql_query("SELECT member_id FROM members WHERE member_id = '$member_id'") or die(mysql_error());
$no_of_rows = mysql_num_rows($result);
if ($no_of_rows > 0) {
$result = mysql_fetch_array($result);
$receivers_id = $result['member_id'];
.
// What can I do here to get the $result that I want?
.
}
$no_of_rows = mysql_num_rows($result);
if ($no_of_rows > 0) {
$results = array();
while(list($results) = mysql_fetch_array($result)) {
array_push($results, $result);
}
return $results;
}
}
任何帮助都将不胜感激
谢谢
SELECT c.name,
b.message
FROM members a
INNER JOIN messages b
ON a.member_ID = b.receivers_id
INNER JOIN members c
ON b.senders_ID = c.member_ID
WHERE a.name = 'Tom'
+1
,因为它提供了具有所需结果的样本记录,并明确表示:D