Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: проблема с неработающим запросом в MySQL: 5.0.45
 
 автор: Flector   (12.06.2008 в 04:16)   письмо автору
 
 

есть плагин для 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, в котором запрос не работает? и можно ли как-нибудь поправить этот запрос, чтобы он работал?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования