Php mysql在同一列中连接两个表
我创建了一个在一个数据库中有两个表的PHP网站,2类用户首先是编辑器用户(c)和普通用户(b) 第一个表(irp\U成员) 用户名-电子邮件-电话-用户类型-parea 第二个表(irp\U mem\U文件) 用户名-电子邮件-电话-国家/地区-fname-pautor-parea 如果用户已登录并且其类型为编辑器(c),我尝试执行mysql连接,然后创建mysql连接从第二个表(irp\U mem\u papers)获取任何记录,其中第一个表中的parea字段(irp\u成员)与第二个表中的parea字段相同(irp_mem_papers) mysql代码是Php mysql在同一列中连接两个表,php,mysql,join,Php,Mysql,Join,我创建了一个在一个数据库中有两个表的PHP网站,2类用户首先是编辑器用户(c)和普通用户(b) 第一个表(irp\U成员) 用户名-电子邮件-电话-用户类型-parea 第二个表(irp\U mem\U文件) 用户名-电子邮件-电话-国家/地区-fname-pautor-parea 如果用户已登录并且其类型为编辑器(c),我尝试执行mysql连接,然后创建mysql连接从第二个表(irp\U mem\u papers)获取任何记录,其中第一个表中的parea字段(irp\u成员)与第二个表中的p
SELECT irp_members.parea, irp_mem_papers.pauthor,irp_mem_papers.phone, irp_members.username
FROM irp_mem_papers
WHERE irp_members.username = $_SESSION[username]
INNER JOIN irp_mem_papers
ON irp_members.parea=irp_mem_papers.parea
我的意思是,如果irp_members.parea和irp_mem_papers.parea中的字段值相等(例如,它们都必须是biology,我不确定查询的语义是否正确,但语法必须是这样的(WHERE子句位于JOIN和ON之后):
我不确定查询的语义是否正确,但语法必须如下所示(WHERE子句位于JOIN和ON之后):
它不起作用,你知道吗?为什么你需要两个表?使用一个并创建一个额外的列is_editor并设置为true或false与Grasper一致。在两个表中复制数据不是一个好主意。或者你必须只有一个表,或者你需要在第一个表中有一个唯一的ID,并在第二个表中使用它作为链接。但是拥有用户名-电子邮件-电话是不可取的好主意。没错,但我需要这样,谢谢你的提示。有什么想法吗?为什么你需要两个表?使用一个并创建一个额外的列,并设置为true或false。同意Grasper。在两个表中复制数据不是一个好主意。或者你必须只有一个表,或者你需要在表中有一个唯一的ID首先,将其用作第二个链接。但是使用用户名-电子邮件-电话不是一个好主意。没错,但我需要这样,谢谢你的提示。我的意思是,如果irp_members.parea和irp_mem_papers.parea中的字段的值相等(例如,它们都需要是biology刚刚注意到,你加入了一个表“irp_mem_papers”你应该做的是将“irp_成员”与“irp_mem_papers”连接起来。我在回答中更新了一个查询,试试看。我的意思是,如果irp_mem_mem_papers.parea和irp_mem_papers.parea中的字段的值相等(例如,它们都需要是biology刚刚注意到的,你加入了一个表“irp_mem_papers”你应该做的是加入“irp_成员”和“irp_成员论文”。我在我的答案中更新了一个问题,试试看。
SELECT irp_members.parea, irp_mem_papers.pauthor,irp_mem_papers.phone,
irp_members.username
FROM irp_members
INNER JOIN irp_mem_papers
ON irp_members.parea=irp_mem_papers.parea
WHERE irp_members.username = $_SESSION[username]