Задавайте вопросы, мы ответим
Вы не зашли.
есть плагин для WordPress XmasB Quotes, он у меня работает превосходно на localhost с MySQL: 5.0.33, но когда я переношу его к хостеру с MySQL: 5.0.45 он вызывает ошибку. вот текст ошибки:
[Tue Jun 10 12:51:07 2008] [error] 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 ‘SELECT FLOOR(MAX(ID)*RAND()) AS ID FROM wp_xmasb_quotes) AS x O for query SELECT * FROM wp_xmasb_quotes T JOIN (SELECT FLOOR(MAX(ID)*RAND()) AS ID FROM wp_xmasb_quotes) AS x ON T.ID >= x.ID and visible = 1 LIMIT 1 made by xmasb_get_random_quote
понятно, что ошибку вызывает запрос:
$sql = 'SELECT * FROM ' . XMASB_QUOTES_TABLE . ' T JOIN (SELECT FLOOR(MAX(ID)*RAND()) AS ID FROM ' . XMASB_QUOTES_TABLE . ') AS x ON T.ID >= x.ID and visible = 1 LIMIT 1';
я списался с автором плагина, но у него MySQL вообще версии 4.1.21 и он не может понять, что в этом запросе неправильно. все, что он посоветовал это перейти на другую версию плагина, где этот запрос выполнен по-другому - "неэффективно" типа
sql = "SELECT * FROM " . XMASB_QUOTES_TABLE . " where visible = 1 ORDER BY RAND() limit 1"; //Ineffective code
так, конечно, работает, но не хотелось бы пользоваться неэффективным кодом, да и при выходе каждой новой версии плагина ручками менять запрос ломает. отсюда вопрос - в чем различие между MySQL: 5.0.33, на котором запрос работает и MySQL: 5.0.45, в котором запрос не работает? и можно ли как-нибудь поправить этот запрос, чтобы он работал?
Неактивен
Приведите пожалуйста структуру таблицы чтобы можно было повторить ошибку (SHOW CREATE TABLE имя_таблицы)
Неактивен