2016-11-15 14 views
0

У меня есть MySQL запрос, как показано нижеЗапрос возвращает различный результат с PHPMyAdmin и веб-страницы/

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) 

Этот запрос должен быть возвращение подсчитанное значение в качестве как за записей таблицы.

Но когда я выполняю этот запрос с использованием php на своем веб-сайте, он возвращает значение счета как .

Когда я запускал этот запрос непосредственно на 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 ([email protected]_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; 
     } 
+3

Выполняете запрос через нечто вроде 'mysql_real_escape_string()', которое может вообще изменить ваш запрос? –

+1

Не могли бы вы добавить информацию о том, как вы запускаете этот запрос на своей веб-странице? – rbr94

+0

Неправильный результат 59? Но 59, несомненно, является правильным результатом. Я хочу 59. – Strawberry

ответ

0

&gt; является "htmlentity" для >. Если в запросе действительно находится &gt;, то вряд ли он будет работать так, как ожидалось. Решите, откуда это происходит, и избегайте этого.