0

我有一个产品页面,当您单击添加到购物篮时

$pid = $_POST['pid'];
$size= $_POST["length"];
$Category = $_POST['Category'];

它运行一个 POST 方法,发布上面的那些。从那个价格可以根据长度选择。因为类别是一个下拉菜单......我发布用户选择的任何类别。

以下是我的 3 个表和查询的示例。希望对表:产品有所帮助

  Pid     Name
   1      man
   2      woman
   3      child

表:类别

CatID  Name          Pid
1       pen           1
2       pen           1
3       pencil        2
3       red_pen       3

表 active_product

ATpid  size pid   price
 1      12   1     10
 2      14   2     15
 3      16   3     20
 4      18   4     30

我尝试过的查询

SELECT Name, size, price
FROM active_product, Product, Category
WHERE Product.pid=1
AND size=10  AND Name.Category=pen Limit 1

查询不工作。请问我该如何改进?

4

3 回答 3

0

1)你忘记了报价

2)您应该描述您使用哪个表中的名称。

SELECT Category.Name, size, price
FROM active_product, Product, Category
WHERE Product.pid=1
AND size=10  AND Name.Category="pen" Limit 1
于 2013-06-21T21:46:01.103 回答
0

我认为你应该有这个:

SELECT Product.Name, size, price
FROM active_product, Product, Category
WHERE Product.pid=1
AND size=10  AND Category.Name="pen" Limit 1

名称不是表格。

于 2013-06-21T21:46:11.783 回答
0

您有两个名称列(一个 inproduct和一个 in category),但您没有在列列表中指定您想要的一个。您没有名为 的表Name,因此Name.Category您的WHERE子句中不能有 no ,如果有则需要指定Name = 'pen'(请参阅'周围的值)。

看来您真的应该在某个地方寻找 SQL 教程站点,因为这些都是非常基本的错误。Google 和 Bing 可能会为您找到一个。此外,为了将来参考,在此处发布带有诸如“它不起作用”之类的模糊陈述的内容,而没有解释这意味着什么通常会导致问题被关闭。

于 2013-06-21T21:46:31.510 回答