Приветствую, всех жителей это прекрасного места!
Возникла проблема в работе плагина 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))';
Если кто сталкивался с подобной ситуацией, прошу помощи, остальных - своими предположениями.
Заранее благодарен.
Поинтересуйтесь у хостера, как можно решить проблему.
Как вариант может у вас мускул юзер с ограниченными правами.
Поразмыслив, решил исключить вариант с созданием временных таблиц.
Для этого следует удалить или закомментировать след. строки:
$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. Я так и не понял, с какой целью автор создает временную таблицу.
Он создает временную, что бы пересчитать все items. Некоторые могли быть удалены
Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)