Sergun
Участник
Offline
|
|
« : 08-02-2010 09:38 » |
|
Создаю блог на WordPress. Использую плагин Popularity Contest для отображения списка наиболее популярных записей блога. После активации плагина WP Tuner, который предназначен для управления производительностью блога, у меня в виджете популярных меток появились вот такие ошибки:
WordPress database error: [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 3] SELECT post_id, total FROM wp_ak_popularity WHERE post_id IN (3,)
WordPress database error: [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 3] SELECT post_id, total FROM wp_ak_popularity WHERE post_id IN (3,)
WordPress database error: [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 3] SELECT post_id, total FROM wp_ak_popularity WHERE post_id IN (3,)
WordPress database error: [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 3] SELECT post_id, total FROM wp_ak_popularity WHERE post_id IN (3,)
WordPress database error: [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 3] SELECT post_id, total FROM wp_ak_popularity WHERE post_id IN (3,)
Решил посмотреть на кодировку таблиц популярности. Оказались, что они установлены в кодировке latin1_swedish_ci. Поменял ее на utf8_general_ci, т.к. именно она поддерживается на движке WordPress. После изменения кодировки ошибки не исчезли... Скажите, пожалуйста, как их исправить?...
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #1 : 08-02-2010 09:54 » |
|
SELECT post_id, total FROM wp_ak_popularity WHERE post_id IN (3,)
запятая в конструкции IN ничего не говорит?
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Sergun
Участник
Offline
|
|
« Ответ #2 : 08-02-2010 10:37 » |
|
Извините, но нет... Я новичок в программировании и еще мало в чем разбираюсь... Ее убрать надо? Не могли же разработчики плагина намеренно совершать эту ошибку...
Подскажите, пожалуйста, где посмотреть реализацию этих SQL запросов? Посмотрел через phpMyAdmin - не нашел.
|
|
« Последнее редактирование: 08-02-2010 11:28 от Sel »
|
Записан
|
|
|
|
RXL
|
|
« Ответ #3 : 08-02-2010 11:04 » |
|
Sergun, сноси модуль. Если ты не собираешься разбираться, то это единственный способ.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Sergun
Участник
Offline
|
|
« Ответ #4 : 08-02-2010 11:59 » |
|
Подскажите, пожалуйста, где искать запрос и как его исправить, чтобы избавиться от ошибки?...
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #5 : 08-02-2010 12:35 » |
|
Sergun, сделай в phpadmine запрос SELECT post_id, total FROM wp_ak_popularity WHERE post_id IN (3)
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Sergun
Участник
Offline
|
|
« Ответ #6 : 08-02-2010 16:46 » |
|
Через phpMyAdmin зашел в БД своего блога, перешел на вкладку SQL, выполнил запрос и мне выдало: "MySQL вернула пустой результат (т.е. ноль строк). ( запрос занял 0.0004 сек. )", а ошибка не ушла... Причем на разных страницах моего блога значение у строки в скобках разное... Скажите, пожалуйста, где может быть реализована процедура вывода этого запроса? Или придется искать другой плагин вывода популярных заметок?...
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #7 : 08-02-2010 17:43 » |
|
проблему надо решать вот здесь $ids = array_unique(array_merge($ids, $post_ids)); if (count($ids)) { $result = $wpdb->get_results(" SELECT post_id, total FROM $wpdb->ak_popularity WHERE post_id IN (".implode(',', $ids).") ");
Судя по всему $ids массив, где последний элемент пустой, вот почему и появляется лишняя запятая. Но так у меня нет WP , то я и не могу проверить.
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Sergun
Участник
Offline
|
|
« Ответ #8 : 09-02-2010 02:32 » |
|
Спасибо большое! Убрал последний элемент с массива и ошибки исчезли! Интересно, этот элемент не нужен вообще?... Когда я опубликую свой блог на хостинг, он тоже не понадобится?...
|
|
|
Записан
|
|
|
|
|