Magento Forum

   
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax;
 
nervman
Jr. Member
 
Total Posts:  17
Joined:  2012-03-01
 

Установили один виджет для вывода продуктов из категорий в табах, но он не работает именно на нашем сайте.
Выдается ошибка если выводить блок виджета через layout update, и просто ничего если через код виджета в контенте.
Тестировали расширение локально , все работает.

Возникает данная ошибка, например, тогда, когда в менеджере пунктов меню расширенного меню попробовали сделать сортировку в списке по весу пункта.

Но похожие вещи случались и когда пробовали вывести текст виджета для создания табов а виде блока.

Все ошибки начинаются одинаково «SQLSTATE[42000]: Syntax error or access violation: 1064 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 \’order ASC LIMIT 20\’ at line 1» .

С чем это может быть связано?

SQLSTATE[42000]: Syntax error or access violation: 1064 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 \’order ASC LIMIT 20\’ at line 1

#0 /var/www/site.kz/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array)
#1 /var/www/site.kz/lib/Zend/Db/Statement.php(300): Varien_Db_Statement_Pdo_Mysql->_execute(Array)
#2 /var/www/site.kz/lib/Zend/Db/Adapter/Abstract.php(479): Zend_Db_Statement->execute(Array)
#3 /var/www/site.kz/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query(\’SELECT `main_ta...\’, Array)
#4 /var/www/site.kz/lib/Varien/Db/Adapter/Pdo/Mysql.php(419): Zend_Db_Adapter_Pdo_Abstract->query(\’SELECT `main_ta...\’, Array)
#5 /var/www/site.kz/lib/Zend/Db/Adapter/Abstract.php(734): Varien_Db_Adapter_Pdo_Mysql->query(\’SELECT `main_ta...\’, Array)
#6 /var/www/site.kz/lib/Varien/Data/Collection/Db.php(734): Zend_Db_Adapter_Abstract->fetchAll(\’SELECT `main_ta...\’, Array)
#7 /var/www/site.kz/app/code/core/Mage/Core/Model/Resource/Db/Collection/Abstract.php(521): Varien_Data_Collection_Db->_fetchAll(\’SELECT `main_ta...\’, Array)

 
Magento Community Magento Community
Magento Community
Magento Community
 
mcdky
Sr. Member
 
Avatar
Total Posts:  140
Joined:  2011-09-29
 

В ковыченьки слово ордер надо обернуть. Скорее всего (но это догадки) у вас написано что-то вроде ‘… ORDER BY order ASC...’, попробуйте это переписать ‘… ORDER BY `order` ASC...’

 
Magento Community Magento Community
Magento Community
Magento Community
 
nervman
Jr. Member
 
Total Posts:  17
Joined:  2012-03-01
 

Дело в том, что проблема была не с одним виджетом.
Я все-таки сомневаюсь по поводу MySQL, может проблема именно с настройками сервера и базы?

 
Magento Community Magento Community
Magento Community
Magento Community
 
mcdky
Sr. Member
 
Avatar
Total Posts:  140
Joined:  2011-09-29
 

Я гадаю по этой вот ошибке

“SQLSTATE[42000]: Syntax error or access violation: 1064 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 \’order ASC LIMIT 20\’ at line 1”

“You have an error in your SQL syntax” - это значит что в запросе синтаксическая ошибка.

“syntax to use near \’order ASC LIMIT 20\’ at line 1” - это значит что ошибка где-то рядом с “order ASC LIMIT 20”

“order ASC LIMIT 20” - что тут видно, видно тут “ASC”, это значит, что где-то до написано “ORDER BY”, потому что “ASC” это указание для сортировки по возрастанию, а сортировка - это “ORDER BY”.

Возможные проблемы:
1. “...ORDER BY order ASC LIMIT 20”, где order - это название колонки, тогда ее надо взять в кавычки `order`;
2. слово order это не дописанное ORDER BY column
3. ASC - лишнее и ORDER BY нету совсем
4. еще что-нибудь

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
    Back to top