(PHP) проблема на 5.0.24a и PHP 5.1.6 c FOUND_ROWS()

SmD
Дата: 11.10.2006 14:49:44
Добрый день!

Сталкнулся с такой проблемой...

$i=mysql_query("select SQL_CALC_FOUND_ROWS * from test limit 0,10");
$p=mysql_query("select FOUND_ROWS()");
$r=mysql_fetch_assoc($p);
var_dump($r);

возвращает результат
array(1) {
["FOUND_ROWS()"]=>
string(1) "0"
}

при этом тот-же скрипт на 4.1.19 и PHP 4.4.3
array(1) {
["FOUND_ROWS()"]=>
string(1) "774"
}

Таблицы одинаковые абсолютно...

Кто-нибудь сталкивался с такой проблемой?

PS:
проверил набор запросов

select SQL_CALC_FOUND_ROWS * from test limit 0,10;
select FOUND_ROWS();

под клиентом от мускула (mysql)
все работает верно.. т.е. возвращается 774 строки....

PHP клиент версии Client API version 5.0.24a

Small Devil
Kachalov
Дата: 11.10.2006 15:06:42
А нельзя было использовать такой запрос:
SELECT COUNT(*) FROM test
SmD
Дата: 11.10.2006 15:21:38
Kachalov
А нельзя было использовать такой запрос:
SELECT COUNT(*) FROM test


в оригинале запрос что то типо...
select SQL_CACHE SQL_CALC_FOUND_ROWS unix_timestamp(event_date) as uevent_date, unix_timestamp(event_todat>uevent_todate, concat(event_keywords,' ',eventer_name,' ',event_date,' ',event_todate,' ',event_text,' ',event_website,' ',event_city,' ',event_region,' ',event_street,' ',event_postalcode,' ',event_openinghours,' ',event_tickethotline,' ',event_currency,' ',event_location,' ',event_subtitle,' ',event_name,' ',area_german) regexp '[Aa]' as matchlike,0 as inNeedCat, event.*,area.*,cat.*,eventer.*,ifnull(estimation.estimation_count,0) as estimation_count,ifnull(estimation.estimation_value,0) as estimation_value,if(event_todate>curdate() and event_date>0,if(event_date>curdate(),datediff(event_todate,event_date),datediff(event_todate,curdate()))+1,0) as resttime from eventinx_eventer eventer, eventinx_event event left join eventinx_estimation estimation on event.event_id=estimation.estimation_event, eventinx_areas area,eventinx_categories cat where 1 and area.area_id=event.event_area and cat.cat_id=event.event_category and eventer.eventer_id=event.event_eventer having (1 and matchlike) or inNeedCat order by event_date, event_priority, cat_id,area_id limit 0,10

count(*) немного не то, даже с группировкой..
надо будет внимательнее запрос изучать и переписывать много раздных мест..

по этому хочется меньшей кровью.. а именно, чтобы обозначенные функции заработали..
SmD
Дата: 11.10.2006 15:22:29
Kachalov
А нельзя было использовать такой запрос:
SELECT COUNT(*) FROM test

Да и сам запрос формируется динамически...
Kachalov
Дата: 11.10.2006 15:50:41
Попробуй в php.ini указать:
mysql.trace_mode=Off

Можно еще попробовать вместо библиотеки MySQL использовать MySQLi - она более продвинутая, возможно в ней такой глюк не встретится. Или более свежую версию PHP.
SmD
Дата: 11.10.2006 21:40:07
Kachalov
Попробуй в php.ini указать:
mysql.trace_mode=Off

Можно еще попробовать вместо библиотеки MySQL использовать MySQLi - она более продвинутая, возможно в ней такой глюк не встретится. Или более свежую версию PHP.

вроде как 5.1.6 последняя.....
MySQLi - можно, думал уже об этом.
но там много кода.. придется замену делать... - это крайний случай..
попробую клиента пхпшного опустить до 3 версии посмотрим что получится.
SmD
Дата: 11.10.2006 21:47:40
Kachalov
Попробуй в php.ini указать:
mysql.trace_mode=Off

Можно еще попробовать вместо библиотеки MySQL использовать MySQLi - она более продвинутая, возможно в ней такой глюк не встретится. Или более свежую версию PHP.



ОГРОМНЫЙ СЕНКС!!!
trace_mode -
SmD
Дата: 11.10.2006 21:48:54
Kachalov
Попробуй в php.ini указать:
mysql.trace_mode=Off

Можно еще попробовать вместо библиотеки MySQL использовать MySQLi - она более продвинутая, возможно в ней такой глюк не встретится. Или более свежую версию PHP.



ОГРОМНЫЙ СЕНКС!!!
изменение trace_mode реально помогло...
видимо структура это трассировки сбивала информацию о самом запросе..

Еще раз - Огромное спасибо...