Добрый день. Есть такая проблема. Скрипт обрабатывает sql запрос: [sql]select news.header as header, news.anounce as anounce, newslines.name as newslines, newslines.url as newslines_url, news.url as url, news.publish_time as pub_time from news left join news2newsline on news2newsline.news_id=news.id join newslines on news2newsline.newsline_id=newslines.id where news.is_published = '1' and newslines.url = 'anounces' limit 10;[/sql] При проверки этого добра через phpmyadmin все работает отлично, а вот при вызове из скрипта - пустота, никакого вывода ни в логи php, ни в логи mysql. Зато в логи апача сыпется Что делать - ума не приложу. Гуглил, но народ, в основном, решает проблемы, связанные с различными популярными и не очень движками. Заранее спасибо P.S. - работаю на сборке MAMP, Apache/2.0.63 (Unix) PHP/5.2.11
как исполняешь это добро в скрипте? попробуй mysql_query('SQL') or die (mysql_error()); может какие еще ошибки выдаст.. запрос в целом правильный.. исполняешь пробуешь с целой кучей всего или пробуешь на чистом скрипте, где коннект к бд + запрос ? UPD: поправил mysql_query('SQL') or die (mysql_error());
В чистом скрипте это заработало нормально. В рабочей версии этот запрос порождает цикл с preg_replace внутри. При этом если закомментировать только mysql_query - все работает хорошо, но, понятное дело, без замен. Дома попробую вставить mysql_error и отпишу тут что получится.
Вот код, в который попадает запрос: Код (Text): private function parse_cycle($parse_code) { preg_match("/cycle((.|\n)*?)\(\"(.*?)\"\)((.|\n)*?)\{((.|\n)*$)/s", $parse_code, $x); $sql = $x[3]; $code = substr($x[6], 0, strlen($x[6]) - 1); $z = mysql_query($sql); $in_cycle = ''; while ($params = mysql_fetch_assoc($z)) { $in_cycle = $in_cycle . $code; foreach ($params as $key=>$value) $in_cycle = preg_replace('/\$' . $key . '/', $value, $in_cycle); } return $in_cycle; } В $parse_code содержится строки вида cycle("запрос") {действия для каждой полученной строки результата} Внутри {} переменные заменяются на полученные из mysql. P.S. - mysql_query('SQL') or die (mysql_error()); к сожалению не привел ни к какому результату, поскольку скрипт, по видимому, падает во время запроса, а вернее во время его отправки в mysql. P.S.S. - извините, написано немного по-индусски, потому что наспех)