Неудается выполнить MySQL запрос

Автор keanor, 24 Август 2009, 21:51:54

« назад - далее »

0 Пользователи и 1 Гость просматривают эту тему.

keanor

Код
$request = $smcFunc['db_query']('', '
SELECT YEAR(post_date), MONTH(post_date) FROM wp_posts
UNION
SELECT YEAR(post_date), MONTH(post_date) FROM wp_posts
ORDER BY 2',
array ()
);

не работает, [хотя в phpmyadmin эта функция проходит
Код
$request = $smcFunc['db_query']('', '
SELECT YEAR(post_date), MONTH(post_date) FROM wp_posts
UNION
SELECT YEAR(post_date), MONTH(post_date) FROM wp_posts
ORDER BY {int:order}',
array (
'order' => 2
)
);

так тоже не работает, ошибку посмотреть не могу
ЦитироватьВеб-страница по адресу http://site/forum/, возможно, временно недоступна или постоянно перемещена по новому адресу.

Функция находится в файле SSI.php - $smcFunc объявлена как глобальная и доступна... Ума не приложу как заставить этот запрос выполнится.
I'm from Russia, sorry my bad english)

Inter

Код
global $smcFunc, $scripturl;

$dbresult = $smcFunc['db_query']('', '
   SELECT YEAR(post_date), MONTH(post_date) FROM wp_posts
   UNION
   SELECT YEAR(post_date), MONTH(post_date) FROM wp_posts
   ORDER BY 2',
   array ()
);

while ($row = $smcFunc['db_fetch_assoc']($dbresult))
{
//...
$row['wp_posts']
// ...
}
$smcFunc['db_free_result']($dbresult);


там как-то так делается
I'm the law and you can't beat the law

|censored| 'em and their law

Crack down at sundown

Inter

попробуй вот так:

Код
<?php

global $smcFunc;

$dbresult = $smcFunc['db_query']('', "
SELECT YEAR(post_date) AS year_post_date, MONTH(post_date) AS month_post_date  FROM wp_posts
ORDER BY `order`
LIMIT 2
");

while ($row = $smcFunc['db_fetch_assoc']($dbresult))
{
//...
echo $row['year_post_date'], '<br>';
echo $row['month_post_date'], '<br>';
// ...
}

$smcFunc['db_free_result']($dbresult);
?>
I'm the law and you can't beat the law

|censored| 'em and their law

Crack down at sundown

Krazy

22 Ноябрь 2012, 17:15:18 #3 Последнее редактирование: 22 Ноябрь 2012, 17:32:12 от Krazy
Разобрался. Не правильно функция пытался использовать.

GeorG

Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Krazy

я массив туда пытался запихнуть  idiot
разобрался уже.

Mr. Anviss

We don't use UNION in SMF, at least so far.  But it's useful for injections.

kak2z

Код
$modSettings['disableQueryCheck'] = true;


а если так выключить проверку запросов?? а после запроса выключить.. тоже не получиться
Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)

Mr. Anviss

kak2z готовы рискнуть безопасностью?

kak2z

Цитата: Mr. Anviss от 23 Ноябрь 2012, 11:19:31$modSettings['disableQueryCheck'] = true;

у меня в скрипте был запрос одновременный к двум таблицам с одной базы но с разными префиксами... данные из get или post в этот запрос мне не надо было вносить...

я перед запросом сделал
Код
$modSettings['disableQueryCheck'] = true;


а после запроса сразу поставил
Код
$modSettings['disableQueryCheck'] = false;


так что вроде проблем с безопасностью и не было..

Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)

Mr. Anviss

kak2z ну как говорится хозяин-барин. Не знаю что там у вас за запрос был что потребовалось использовать union но я никогда не испытывал в нем необходимость т.к. есть такая вещь как left join, as

kak2z

Цитата: Mr. Anviss от 23 Ноябрь 2012, 12:32:47
kak2z ну как говорится хозяин-барин. Не знаю что там у вас за запрос был что потребовалось использовать union но я никогда не испытывал в нем необходимость т.к. есть такая вещь как left join, as

не-не-не))  я не union использовал)) у меня все уперлось в разные префиксы таблиц)) писало attemp hack
но думаю что решение проблемы одинаковое)
Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)