Php 如果列不匹配,select from multipe tables join返回null

Php 如果列不匹配,select from multipe tables join返回null,php,mysql,Php,Mysql,我试图创建一个mysql查询,指定userid=x的列和userid=y的列 我的问题是,如果从用户x选择的列与来自用户y的同一列的内容不匹配,那么当前会发生什么情况,查询将返回null,因为我检查了是否声明了变量,并且只打印了来自其他列的变量 我需要从3个表中选择:成员、朋友和帐户类型: 1º来自members.status和其他列,如name、month1-12和photo,其中members.id=$\u GET['id'] 2º从account_type.type开始,我需要比较memb

我试图创建一个mysql查询,指定userid=x的列和userid=y的列

我的问题是,如果从用户x选择的列与来自用户y的同一列的内容不匹配,那么当前会发生什么情况,查询将返回null,因为我检查了是否声明了变量,并且只打印了来自其他列的变量

我需要从3个表中选择:成员、朋友和帐户类型:

1º来自members.status和其他列,如name、month1-12和photo,其中members.id=$\u GET['id'] 2º从account_type.type开始,我需要比较members.acc_type,其中members.id=$\u会话['user_id']。 3ºfriends.cashed_month1-12和friends.friendID=$处的列总数获取['id']

如何指定每个列所属的id

我不知道如何在一个查询中实现,我可以单独实现

事实上,这就是我所拥有的:

SELECT friends.*, members.*, account_type.* FROM members INNER JOIN friends ON friends.friendID = members.id
                                                              INNER JOIN account_type ON account_type.type = members.acc_type
                                                              WHERE friends.friendID = ? AND members.acc_type = ?")) {
$stmt->bind_param('isi', $_GET['id'], $_SESSION['acc_type'];
从2º开始就是我遇到这个问题的地方,我选择一列,我真的需要从哪个id或从哪个行指定,因为有许多帐户具有相同的acc_类型,所以如果连接的用户与朋友帐户具有不同的acc_类型,那么从哪个id指定应该有效。我的意思是,这个想法是:每个用户,不管acc_类型是什么,都可以有不同acc_类型的朋友

我测试过,如果connected user和$_GET['id']user具有相同的acc_类型,则一切正常,但如果我从connected user更改acc_类型,则查询将不起作用


提前谢谢

最后,我得到了一个有效的问题。我花了几个小时,这个答案可能对其他人有用,因为它帮助了我:

SELECT members.*, account_type.*, friends.*, membersF.*
FROM members
INNER JOIN account_type ON members.acc_type = account_type.type
INNER JOIN friends ON friends.userID = members.id
INNER JOIN members AS membersF ON membersF.id = friends.friendID
WHERE members.acc_type = ?
AND friends.userID = ?
AND membersF.id = ?

$_SESSION['acc_type'], $_SESSION['user_id'], $_GET['id']
一些人解释说:

INNER JOIN account_type ON members.acc_type = account_type.type
这将返回连接用户的acc_类型,您将能够打印与该帐户类型对应的列。您可以添加许多列,除了奖金

INNER JOIN friends ON friends.userID = members.id
在这里,它将返回该表中与userID对应的列

INNER JOIN members AS membersF ON membersF.id = friends.friendID
最后,这将返回与该ID对应的成员的列,在本例中是朋友ID

仅此而已: