Обратите внимание, что этот вопрос не о самом запросе mysql, а о том, как его запустить с php.
Из-за отсутствия лучшего термина я назвал это многокомандным запросом. У меня есть запрос, который отлично работает в клиенте командной строки mysql и в phpmyadmin, следующим образом:
SET @counter = 0;
SET @category = '';
SELECT
*
FROM
(
SELECT
@counter := IF(press.newscat = @category, @counter+1, 0) AS counter,
@category := press.newscat,
press.*
FROM
(
SELECT
*
FROM press
ORDER BY newscat, added DESC
) press
) press
HAVING counter < 2 limit 50
Я хотел бы выполнить то же самое в php-скрипте, но для жизни не могу. Я пытался использовать транзакцию Близнецов, но это дает один результат .... командная строка и phpmyadmin дают мне больше результатов ... как и предполагалось.
У меня есть опыт, и я прекрасно разбираюсь в обычных mysql_fetch_object mysql_fetch_array битах ... но как мне выполнить этот запрос?
Что-то вроде
$phpquery = mysql_query("SET @counter = 0;
SET @category = '';
SELECT
*
FROM
(
SELECT
@counter := IF(press.newscat = @category, @counter+1, 0) AS counter,
@category := press.newscat,
press.*
FROM
(
SELECT
*
FROM press
ORDER BY newscat, added DESC
) press
) press
HAVING counter < 2 limit 50")
... не работает.
моя структура таблицы проста:
table name: press
newscat int(11) not null, headline varchar (255)