我有选择查询问题?

时间:2013-03-07 09:20:45

标签: php mysql database

我有选择查询问题?我无法获得SID但是我可以使用相同的查询获得WID吗? SID未在页面上显示,但WID正在页面上显示

查询购物车ID AS sid

function get_sid($id){
    $result=mysql_query("SELECT shoppingcart.`id` AS sid FROM shoppingcart 
    INNER JOIN products ON shoppingcart.`pid`=products.`id` 
    WHERE products.id='$id'") or die("Shopping Card ID"."<br/><br/>".mysql_error());
    $row=mysql_fetch_array($result);
    return $row['sid'];
}

查询MyWishlist ID AS wid

function get_size($id){
    $result=mysql_query("SELECT mywishlist.id AS wid FROM mywishlist 
    INNER JOIN products ON mywishlist.`pid`=products.`id` WHERE 
    products.`id`='$id'") or die("My Wish Size Problem"."<br/><br/>".mysql_error());
    $row=mysql_fetch_array($result);
    return $row['wid'];
}

2 个答案:

答案 0 :(得分:0)

你在调用正确的功能吗? :) 也许第二个应该是get_wid($ id)?

你应该回来 - 尝试在你的函数中添加一些日志记录并检查可能的错误代码。

检查错误:

if (!$result) 
   die('Invalid query: ' . mysql_error());

并尝试print_r($row);查看是否有任何内容被提取。

答案 1 :(得分:0)

也许你的篮子里没有带有那个id的产品,mysql_fetch_array()返回false?

SELECT shoppingcart.`id` AS sid 
FROM shoppingcart 
   INNER JOIN products 
     ON shoppingcart.`pid`=products.`id` 
WHERE products.id='$id'

我正在努力弄清楚这个查询提供的实用程序。 假设通常的命名惯例,您在产品和购物车之间有一对多的关系 - 大多数人会将多个产品放入一个购物车。目前只剩下这一点,加入是多余的,因为你只是过滤购物车表中的一个值,只返回购物车表中的值;除非您的数据完整性完全被破坏,否则您将获得相同的结果:

SELECT id AS sid 
FROM shoppingcart
WHERE pid = '$id';