繁体   English   中英

MySQL查询使用两个表与内部联接(我认为)

[英]MySql query using two tables with Inner join (i think)

我正在尝试使此查询正常工作,我只想显示SESS_MEMBER_ID Reference(来自表1)等于SESS_MEMBER_ID (来自MySQL的成员表,但来自登录创建的会话)的记录。

我不确定确切如何执行此操作,因为我仍在掌握php的概念。 我不确定是否必须在末尾添加一些代码来告诉它该字段来自表members

我的目的是仅显示IA表PhysioReference字段中的记录,该字段等于成员表中保留在会话中的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,名字,姓氏,登录名,passwd,

IA-表名

参考,姓氏,姓氏,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);

由于查询在双引号内,因此您可以在查询内使用变量而不会出现问题或将其串联。 但是,如果您的成员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);

关于这一点,如果尚未使用它创建变量,则表示该会话引用不正确。 您可能想尝试以下方法:

编辑(基于评论):

$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);

定义的变量不会在字符串内进行解析。

$sql="SELECT * 
      FROM IA tb1, members tb2 
      WHERE tb1.PhysioReference=tb2.member_id
      AND tb2.member_id=" . SESS_MEMBER_ID;
$result=mysql_query($sql);

或者,如果是字符串:

$sql="SELECT * 
      FROM IA tb1, members tb2 
      WHERE tb1.PhysioReference=tb2.member_id
      AND tb2.member_id='" . SESS_MEMBER_ID . "'";
$result=mysql_query($sql);

或者,也许它不是定义的变量,而是会话变量?

// At the start of your code.

session_start();

// ... 

$sql="SELECT * 
      FROM IA tb1, members tb2 
      WHERE tb1.PhysioReference=tb2.member_id
      AND tb2.member_id=" . $_SESSION["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='{$_SESSION["MEMBER_ID"]}';
$result=mysql_query($sql);

(或者,如果您将其称为SESS_MEMBER_ID ,请尝试$_SESSION["SESS_MEMBER_ID"] 。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM