Создание производителя: ошибка 1064

Тема в разделе "Общие вопросы", создана пользователем iamsever, 3 дек 2015.

  1. iamsever

    iamsever Новичок

    Сообщения:
    12
    Симпатии:
    0
    Создаю производителя, пишу назавание, пытаюсь сохранить, на странице выдает следующее:

    Notice
    : 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 'meta_h1 = '', meta_description = '', meta_keyword = ''' at line 1
    Error No: 1064
    INSERT INTO oc_manufacturer_description SET manufacturer_id = '36', language_id = '1', description = '<p><br></p>', meta_title = '' meta_h1 = '', meta_description = '', meta_keyword = '' in Z:\home\ishop-new.ru\www\system\library\db\mysqli.php on line 41Warning: Cannot modify header information - headers already sent by (output started at Z:\home\ishop-new.ru\www\admin\index.php:80) in Z:\home\ishop-new.ru\www\system\library\response.php on line 12

    Пытаюсь разобраться, но раньше php и DB не занимался, а так хочется новую версию OpenCart 2.1.0.1 поставить, вместо того, чтобы взять старую стабильную 1.5.5.1.2.
    Как мне правильно искать причину ошибки? С чего начинать стоит??
    В mysqli.php line 41 - обработчик ошибки,
    index.php:80 тоже error_handler с кодом
    if ($config->get('config_error_display')) {
    echo '<b>' . $error . '</b>: ' . $message . ' in <b>' . $file . '</b> on line <b>' . $line . '</b>';
    }
    ,
    response.php line 12
    public function redirect($url, $status = 302) {
    header('Location: ' . str_replace(array('&amp;', "\n", "\r"), array('&', '', ''), $url), true, $status);
    exit();

    }
     
  2. iamsever

    iamsever Новичок

    Сообщения:
    12
    Симпатии:
    0
    нашел ошибку в запросе: INSERT INTO oc_manufacturer_description SET manufacturer_id = '36', language_id = '1', description = '<p><br></p>', meta_title = '' meta_h1 = '', meta_description = '', meta_keyword = ''.
    Не хватает запятой после meta_title = ''. Куда дальше лезть? Какая функция привязана, к кнопке "Сохранить", как можно стек вызовов посмотреть, как точку останова поставить в нужном месте?? Я хотел не БЭТО-тестированием заниматься, а просто магазин хороший сделать. А тут только сунулся((, сейчас, как обычно, весь opencart 2.1.0.1 разломать придется.
     
  3. optimlab

    optimlab Продвинутый пользователь

    Сообщения:
    815
    Симпатии:
    217
    oc_manufacturer_description - а откуда у вас вот эта таблица взялась?
     
  4. Vlad

    Vlad Эксперт

    Сообщения:
    3.899
    Симпатии:
    939
    потому что надо ставить сборку с данного форума и не будите бетта тестером.
     
    optimlab нравится это.
  5. iamsever

    iamsever Новичок

    Сообщения:
    12
    Симпатии:
    0
    OpenCart(ocStore 2.1.0.1) её создал при установке. Для производителя, видимо, их три создано: oc_manufacturer, oc_manufacturer_description и oc_manufacturer_to_store.
     
  6. iamsever

    iamsever Новичок

    Сообщения:
    12
    Симпатии:
    0
    А в каком месте она здесь хранится?
     
  7. Vlad

    Vlad Эксперт

    Сообщения:
    3.899
    Симпатии:
    939
    http://opencart-russia.ru/

    Да даже в раздел новости зайти там все видно. В документации на данном форуме по установке тоже есть ссылка. Везде ссылки , а мы не видим ))) или не хотим ((
     
    iamsever нравится это.
  8. optimlab

    optimlab Продвинутый пользователь

    Сообщения:
    815
    Симпатии:
    217
    Да, действительно, сейчас поставил и посмотрел что там. :eek: Уууууууу!!!!!!!....((((((((
    Они встроили прямо в код модификатор аналог Описание производителя, да еще и с ошибкой, представленной выше, когда добавляли поле meta_h1.
    В общем забудьте про ту сборку навсегда! Они туда понавстраивали своих модификаторов, прямо в родные файлы. Теперь многие модули и модификаторы просто будут косячно работать. Или вообще не встанут. Не завидую я тем кто будет пользоваться их сборкой...

    P.S.
    Сегодня написал мне покупатель, так и так не работает модификатор: http://shop.opencart-russia.ru/manufacturer-description , выслал логи. Смотрю всё ровно. Прошу выслать папку модифицироваванных файлов.. Все, хорошо.
    Думаю да что такое???!!! Прошу базу... А в базе стоит таблица oc_manufacturer_description, и вместо 6 полей, всего лишь 3. WTF??!!!:mad:
    Говорить про ошибку не стал, стало интересно, откуда возникла таблица. Так как у моего запроса такой код и оттестирован на русской и родной сборках:
    Код:
    CREATE TABLE IF NOT EXISTS `oc_manufacturer_description` (
      `manufacturer_id` int(11) NOT NULL DEFAULT '0',
      `language_id` int(11) NOT NULL DEFAULT '0',
      `description` text NOT NULL,
      `meta_description` varchar(255) NOT NULL,
      `meta_keyword` varchar(255) NOT NULL,
      `meta_title` varchar(255) NOT NULL,
      PRIMARY KEY (`manufacturer_id`,`language_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    Таблица по всей видимости у него была до этого в базе. Но как она возникла непонятно.
    Отписал обратно с просьбой рассказать как устанавливал... Теперь жду истории.

    Так вот это я к чему:
    Есть подозрение что многие непонятные ошибки у многих модификаторов идут с обновлений с левых сборок на Русскую сборку Opencart. И так же и тут могут на форуме быть ошибки аналогичные ошибке в этой теме. И мы тут ищем, гадаем, чешим голову, а оно вон всё как может происходить.

    Вообщем это я так написал, для разработчиков, мысли.. Будьте бдительны!
     
    iamsever нравится это.