собсна, строю запрос Код (Text): $whe = ($param->cat == 'h') ? 'g.n_gr >= 5000' : 'g.n_gr <= 5000'; $wh = ($param->cat == 'h') ? 't.n_tov >= 200000' : 't.n_tov <= 200000'; $select = $db2->select() ->from(array( 't' => 'tovar' ), array( 'C' => 'COUNT(*)' ) ) // ->from(array('g' => 'groups'), array('n_gr')) ->where('t.n_gr = g.n_gr') ->joinLeft(array('g' => 'groups'), 'g.n_gr = t.n_gr') ->where("g.name_gr NOT LIKE '%#%'") ->where('t.name_t NOT LIKE \'%вес%\'') ->where($whe) ->where($wh); Код (Text): echo $select; показывает [sql]SELECT COUNT(*) AS `C`, `g`.* FROM `tovar` AS `t` LEFT JOIN `groups` AS `g` ON g.n_gr = t.n_gr WHERE (t.n_gr = g.n_gr) AND (g.name_gr NOT LIKE '%#%') AND (t.name_t NOT LIKE '%вес%') AND (g.n_gr >= 5000) AND (t.n_tov >= 200000)[/sql] выполняю запрос в phpmyadmin и результат по колонке "C" 8095, в скрипте 8134.... в чем дело не пойму :cry: Люди помогите!
не, не в русском языке точно...SET CHARSET ставил в utf8....нашел выход - делать новый коннект для каждого запроса...гамно конечно, но по другому не смог сделать...есть ещё варианты?
гм. можно настроить логи мускула, посмотреть, точно от скрипта и пхпадмина 2 одинаковых запроса идут. а эти N тысяч строк уже в базе есть или ты их перед выборкой заносишь?
есть они там...мне кажеца что тут ООП всему виной...память то одна...вот и вместо того чтобы делать новый он юзает из буфера...типа кэш и все такое...
Как адаптер $db2 создаеш, параметры? Можно указать параметр - 'charset': specify the charset used for the connection Не надо делать в ручную SET CHARSET utf8.
так код же открытый. поставь пару брейкпойтов или вардампов и посмотри, откуда у тебя идут некорректные данные.
thunderpick сталкивался с такой проблемой.. оказалось, что phpmyadmin показывал примерное количество строк, поэтому значения по кол-ву не совпадали