0

我有选择查询问题?我无法获得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'];
}
4

2 回答 2

0

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

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

检查错误:

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

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

于 2013-03-07T09:38:03.697 回答
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';
于 2013-03-07T09:48:59.297 回答