我正在尝试让这个查询工作,我只想显示 Physio Reference (来自表 1)等于 SESS_MEMBER_ID
(来自 MySQL 中的成员表,但来自创建的 session 的记录)从登录)。
我不确定如何做到这一点,因为我仍然掌握 php 的概念。我不确定您是否必须在末尾添加一些代码来告诉它该字段来自表members
。
我的目标是仅显示 IA 表 PhysioReference 字段中的记录,其中该字段等于成员表中保存在 session 中的 SESS_MEMBER_ID。
$sql="SELECT *
FROM IA tb1, members tb2
WHERE tb1.PhysioReference=tb2.member_id
AND tb2.member_id=SESS_MEMBER_ID";
$result=mysql_query($sql);
成员 - 表名称
member_id, firstname, lastname, login, passwd,
IA - 表名称
Reference, Forename, Surname, DOB, PhysioReference,
提前致谢
最佳答案
看来您可能错过了查询中的美元符号:
$sql="SELECT *
FROM IA tb1, members tb2
WHERE tb1.PhysioReference=tb2.member_id
AND tb2.member_id=$SESS_MEMBER_ID";
$result=mysql_query($sql);
由于查询位于双引号内,因此您可以在查询内使用变量,而不会出现问题或不需要连接。但是,如果您的成员(member) ID 是字符串(字母数字),您将需要在语句中添加一些单引号,如下所示:
$sql="SELECT *
FROM IA tb1, members tb2
WHERE tb1.PhysioReference=tb2.member_id
AND tb2.member_id='$SESS_MEMBER_ID'";
$result=mysql_query($sql);
请注意,如果您尚未使用它创建变量,则说明您错误地引用了 session 。您可能想尝试以下方法:
编辑(基于评论):
$sql="SELECT *
FROM IA tb1, members tb2
WHERE tb1.PhysioReference=tb2.member_id
AND tb2.member_id=".$_SESSION['SESS_MEMBER_ID'];
$result=mysql_query($sql);
关于php - MySql 查询使用两个带内连接的表(我认为),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22959757/