查询从phpmyadmin和网页/返回不同的结果


Query returns different result from phpmyadmin and webpage/

我有一个mysql查询如下

SELECT count(id) as total, 
       MIN(product_price) as min_price, 
       MAX(product_price) as max_price 
FROM `products_details` 
WHERE     subcat_id = 425 
      AND MATCH(alternate_name, product_desc, keywords) AGAINST ('+gas  +(>lighter <lighters)' IN BOOLEAN MODE)

这个查询应该返回计数值为7根据表记录。

但是当我在我的网站中使用php执行此查询时,它返回的计数值为59

当我直接运行这个查询到phpmyadmin我得到正确的结果。

有谁能告诉我为什么会遇到这种问题,我该如何解决?

注意:当我改变这个查询如下,当我在phpmyadmin中运行时,我得到了错误的结果59

SELECT count(id) as total, 
       MIN(product_price) as min_price, 
       MAX(product_price) as max_price 
FROM `products_details` 
WHERE     subcat_id = 425 
      AND MATCH(alternate_name, product_desc, keywords) AGAINST ('+gas  +(&gt;lighter &lt;lighters)' IN BOOLEAN MODE)

使用php执行此查询的方法如下

if (!isset($connection))
            die('Database connection is not valid');
        $result         = @mysql_query($sql, $connection) or die('Could not connect: ' . mysql_error() . ' :: executeQuery');
        if (!$result)
            return;
        if (!@mysql_num_fields($result))
            return false;
        else {
            $result = $result;
        }
        if (!isset($result))
            die('Error in Query');
        else {
            $ret        = null;
            if ($object = mysql_fetch_object($result)) {
                $ret    = $object;
            }
            mysql_free_result($result);
            return $ret;
        }

&gt;>的"htmlentity"。如果&gt;实际上在查询中,那么它不太可能像预期的那样工作。