2015-05-22 39 views
-1

我已经尝试了一切,没有任何工作。我有两张桌子。包含主键和索引的父表是childcareinfo,关键是ChildcareID。子表是具有UserID的主键和ChildcareID的外键的用户。该网站设置为通过使用MM_Username会话变量的网站关注用户。我创建了以下查询内部加入不起作用

SELECT * 
FROM childcareinfo INNER JOIN users 
ON childcareinfo.ChildcareID = users.ChildcareID 

但查询会提取所有托儿服务,而不仅仅是与用户关联的托儿服务。然后在childcareinfo表中显示第一条记录的信息,而不是相关的托儿服务。我研究并尝试了下面列出的查询,但我被告知有语法错误。

SELECT * 
FROM 'users' JOIN 'childcareinfo' 
ON 'childcareinfo'.'ChildcareID' = 'users'.'ChildcareID' 
Where 'users'.UserName' = $_SESSION[user]' 

非常感谢你提前。这是这个网站唯一的停止,并且已经持续了三个星期。我需要帮助来跳过这个障碍。干杯!

+2

“使用者”是一个字符串 – Strawberry

回答

0

我会这样重写你的第二个查询:

SELECT * 
FROM users JOIN childcareinfo 
ON childcareinfo.ChildcareID = users.ChildcareID 
Where users.UserName = "$_SESSION['user']" 

反正注意,您在这里度过了一个错字:

Where 'users'.UserName' = $_SESSION[user]' 

你应该写:

Where 'users'.'UserName' = "$_SESSION['user']" 

其实你应该使用'或'来包装传递给数据库的字符串,而不是表/列名。在数组中(比如$ _SESSIO N)如果你在一个关联数组中引用一个键,你需要用''来包装它。只有索引可以放在没有。

最后但并非最不重要的,你正在做一个MySQL查询是从您用来访问MySQL(PHPMYADMIN)或IDE工具indipendent你写你的代码(DREAMWEAVER)

+0

谢谢您。当我按测试它显示没有数据。这是因为我需要上传页面并让用户登录。再次感谢您的帮助,我一直如此失败。 – Pamela

+0

不客气。请将答案标记为正确的! –

+1

@Pamela您需要确保在运行查询之前设置了$ _SESSION ['user']'值。 – Maximus2012