|
|
|
| Надо подсчитать количество при полнотекстовом поиске
Отправляю запрос локально через phpMyAdmin все работает нормально,
а если вставляю на сайт локально и отправляю запрос php функциями - выдает ошибки
На phpMyAdmin например запрос
SELECT COUNT( * ) FROM `product` WHERE MATCH (`name`) AGAINST ('audio CD')
|
На сайте
$link = @mysql_connect('localhost', 'root', '') or die('Не удалось соединиться: ' . mysql_error());
@mysql_select_db('baza') or die('Не удалось выбрать базу данных');
$q_find_count ='SELECT COUNT( * ) FROM `product` WHERE MATCH (`name`) AGAINST ("'.$val.'") '
$res_find_count = @mysql_query($q_find_count , 0);
|
На сайте Результата нет. (в обычном запросе, WHERE `поле`=' значение' - нормально выполняет всегда)
Если использовать следующую функцию, то выполняет подсчет, но очень медленно, секунд 10
$res_find_count = mysql_num_rows($res_find_count); | |
|
|
|
|
|
|
|
для: добряк
(19.01.2014 в 12:16)
| |
$res_find_count = mysql_query($q_find_count , $link);
|
Второй параметр mysql_query() - указатель открытого соединения с БД, у вас это $link. Можно и не писать его, тогда берется последнее открытое соединение.
Второе вы вообще не то делаете.
Вы через COUNT получили количество записей, соответствующих условию, а после mysql_num_rows считаете, сколько рядов у вас пришло после запроса к БД, у вас один ряд же получен - зачем считать один ряд?
Через LIKE не пробовали находить соответствия? И при подсчете, по-моему, можно использовать SQL_CALC_FOUND_ROWS | |
|
|
|
|
|
|
|
для: Лена
(22.01.2014 в 01:30)
| | SQL_CALC_FOUND_ROWS не то. то есть то, но только тогда, когда нужно определить количество в существующем запросе на выборку. здесь же определить количество само условие | |
|
|
|
|
|
|
|
для: psychomc
(24.01.2014 в 00:51)
| | SQL_CALC_FOUND_ROWS.
Не получается. Не пойму как прописать правильно, на какую документацию ориентироватся,
в php.net нет такой функции | |
|
|
|
|
|
|
|
|
для: добряк
(19.01.2014 в 12:16)
| | заканчивайте приобщаться к mysql
начинайте к mysqli | |
|
|
|
|
|
|
|
для: moonfox
(23.01.2014 в 23:52)
| | тогда уж к PDO. | |
|
|
|
|
|
|
|
для: psychomc
(24.01.2014 в 00:46)
| | PDO есть какие-нибуть улучшенные технические, скоростные характеристики, или просто язык дает новые возможности | |
|
|
|
|
|
|
|
для: добряк
(29.01.2014 в 01:35)
| | Есть отдельная тема с обсуждением этого вопроса. | |
|
|
|
|
|
|
|
для: добряк
(19.01.2014 в 12:16)
| | попробуйте $count = mysql_result($res_find_count, 0) | |
|
|
|
|
|
|
|
для: psychomc
(24.01.2014 в 01:43)
| | Не работатет.
Не понятно. Почему в phpMyAdmin запрос работает
'SELECT COUNT( * ) FROM `product` WHERE MATCH (`name`) AGAINST ("'.$val.'") '
|
| |
|
|
|