У меня есть запрос 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 +(>lighter <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;
}
>
это «htmlentity» для >
, Если >
на самом деле в запросе, то вряд ли он будет работать, как ожидалось. Решите, откуда это исходит и избегайте этого.
Других решений пока нет …