可能不是标题的最佳描述,但我真的想不出任何东西。 我想要发生的是,我可以创建一个查询,使用userID作为关系从列表中选择类型,然后选择城镇。
TABLE listings
saleID userID type description
1 23 clothing nice clothing
2 45 clothing More nice Clothing
TABLE users
userID country county town
23 uk county townname1
24 uk county townname2
变量在url中设置为get eg)?type = clothing& town = townname2
if (!isset($type)){
$query = "SELECT * FROM listings";
}
if (isset($type)) {
$query = "SELECT * FROM listings WHERE type = '{$type}'";
}
这是我坚持的一点我想要使用变量$ type'服装'获取所有列表,然后从具有变量$ town的城镇的用户中选择
if (isset($town)) {
$query = "SELECT users.town listings.userID listings.type FROM listings
WHERE type = '{$type}'
INNER JOIN users
ON users.town = '{$town}'";
}
希望我已经解释得很清楚了解。 请帮我解决这个问题
答案 0 :(得分:1)
SELECT u.town l.userID, l.type
FROM listings l
INNER JOIN users u on u.userID = l.userID
WHERE l.type = '{$type}'
AND u.town = '{$town}'
答案 1 :(得分:0)
SELECT b.town, a.userID, a.type
FROM listings a
INNER JOIN users b
ON a.userID = b.userID
WHERE a.type = '{$type}' AND
b.town = '{$town}'
要进一步了解联接,请访问以下链接:
作为旁注,如果变量的值( s )来自外部,则查询易受SQL Injection
攻击。请查看下面的文章,了解如何防止它。通过使用PreparedStatements
,您可以摆脱在值周围使用单引号。