IPB

Здравствуйте, Гость ( Вход | Регистрация )

 
Ответить в этой темеОткрыть новую тему
> NP_MostPopular, все было ок, пока "не залил" на хост
Brony
сообщение May 18 2007, 09:29 PM
Сообщение #1


Member
**

Группа: User
Сообщений: 14
Регистрация:
7-April 07
Из: Minskas, Belarus
Пользователь №: 1,485



Приветствую, всех жителей это прекрасного места! wink.gif

Возникла проблема в работе плагина NP_MostPopular.
На локале все работает отлично (установлена MySQL Client Version: 3.23.49)
на удаленном хосте (установлена MySQL Client Version: 5.0.18) вылетает ошибка:

mySQL error with query CREATE TEMPORARY TABLE ccount (citem int(11), count int(11)): Access denied for user 'nucleus_'@'%' to database 'nucleus_'


Как я понимаю, происходит отказ в доступе при попытке создать временную таблицу для текущей сессии.
Проще говоря "вылетает" запрос $query = 'CREATE TEMPORARY TABLE ccount (citem int(11), count int(11))';

Если кто сталкивался с подобной ситуацией, прошу помощи, остальных - своими предположениями.

Заранее благодарен. rolleyes.gif
К началу страницы
 
+Цитировать Сообщение
Suvoroff
сообщение May 18 2007, 10:10 PM
Сообщение #2


Support Staff
***

Группа: Admin
Сообщений: 1,170
Регистрация:
16-July 05
Из: nucleus.com.ru
Пользователь №: 1



Поинтересуйтесь у хостера, как можно решить проблему.
Как вариант может у вас мускул юзер с ограниченными правами.


--------------------
К началу страницы
 
+Цитировать Сообщение
Brony
сообщение May 19 2007, 03:18 PM
Сообщение #3


Member
**

Группа: User
Сообщений: 14
Регистрация:
7-April 07
Из: Minskas, Belarus
Пользователь №: 1,485



Поразмыслив, решил исключить вариант с созданием временных таблиц.

Для этого следует удалить или закомментировать след. строки:


$query = 'CREATE TEMPORARY TABLE ccount (citem int(11), count int(11))';
sql_query($query);
$query = 'INSERT ccount (citem,count) SELECT citem as citem, count(*) as count FROM ' . sql_table('comment') . ' WHERE cblog=' . $b->blogid . ' GROUP BY citem';
sql_query($query);
$query = 'SELECT * FROM ccount ORDER BY count DESC LIMIT 0,'.$numberOfPosts;


А также:

$query = 'drop table ccount';
sql_query($query);


Вместо них создать один единственный запрос:

$query = 'SELECT citem as citem, count(*) as count FROM ' . sql_table('comment') . ' WHERE cblog=' . $b->blogid . ' GROUP BY citem ORDER BY count DESC LIMIT 0,'.$numberOfPosts;

p.s. Я так и не понял, с какой целью автор создает временную таблицу. dry.gif
К началу страницы
 
+Цитировать Сообщение
articles
сообщение Nov 12 2007, 09:03 PM
Сообщение #4


Advanced Member
***

Группа: User
Сообщений: 44
Регистрация:
27-April 06
Пользователь №: 118



Он создает временную, что бы пересчитать все items. Некоторые могли быть удалены


--------------------
К началу страницы
 
+Цитировать Сообщение

Ответить в этой темеОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 17th July 2019 - 07:29 AM
Рецепты - Скачать программы - Scripts