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

时间:2016-11-15 12:20:51

标签: php mysql phpmyadmin innodb myisam

我有一个如下所示的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;
        }

1 个答案:

答案 0 :(得分:0)

&gt;>的“htmlentity”。如果&gt;实际上在查询中,那么它不太可能按预期工作。决定来自哪里并避免它。