Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Проблема с модулем экспорт/импорт


klips06

Recommended Posts

Я наверно всех уже замучил со своими проблемами ,но пока учусь и терарезировать больше некого ))

Товарищи сделал экспорт категорий и товаров, убрал из названия и описания кавычки ,делаю импорт ... а мне выдаёт такую ошибку

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 'adore_L'or_40ml-1_enl.jpg')' at line 1

Error No: 1064

INSERT INTO `oc_product_image` (`product_image_id`, product_id, `image`) VALUES (68,254,'data/Home/woomen/ChristianDior/CD_J'adore_L'or_40ml-1_enl.jpg'

Нашёл в интернете вот это http://forum.opencart.com/viewtopic.php?f=20&t=10222

Но я не могу понять нашли они там решение проблемы или нет ((

opencart 1.4.9

Хостинг Jino

Надіслати
Поділитися на інших сайтах


Я наверно всех уже замучил со своими проблемами ,но пока учусь и терарезировать больше некого ))

Товарищи сделал экспорт категорий и товаров, убрал из названия и описания кавычки ,делаю импорт ... а мне выдаёт такую ошибку

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 'adore_L'or_40ml-1_enl.jpg')' at line 1

Error No: 1064

INSERT INTO `oc_product_image` (`product_image_id`, product_id, `image`) VALUES (68,254,'data/Home/woomen/ChristianDior/CD_J'adore_L'or_40ml-1_enl.jpg'

Нашёл в интернете вот это http://forum.opencart.com/viewtopic.php?f=20&t=10222

Но я не могу понять нашли они там решение проблемы или нет ((

opencart 1.4.9

Хостинг Jino

Кавычки нужно сделать другие (двойные) вот так

INSERT INTO `oc_product_image` (`product_image_id`, product_id, `image`) VALUES (68,254,"data/Home/woomen/ChristianDior/CD_J'adore_L'or_40ml-1_enl.jpg")

в файле admin/model/tool/export.php

найди

foreach ($imageNames as $imageName) {

$maxImageId += 1;

$sql = "INSERT INTO `".DB_PREFIX."product_image` (`product_image_id`, product_id, `image`) VALUES ";

$sql .= "($maxImageId,$productId,'$imageName');";

$database->query( $sql );

}

заменить на

foreach ($imageNames as $imageName) {

$maxImageId += 1;

$sql = "INSERT INTO `".DB_PREFIX."product_image` (`product_image_id`, product_id, `image`) VALUES ";

$sql .= "($maxImageId,$productId,\"$imageName\");"

$database->query( $sql );

}

  • +1 1
Надіслати
Поділитися на інших сайтах

исправил , но теперь вот такое сие выдаёт ((

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 'adore_100ml.jpg', 18, 5, '2011-09-14 21:56:09','2011-09-14 22:39:28', 1)' at line 1
Error No: 1064
INSERT INTO `oc_category` (`category_id`, `image`, `parent_id`, `sort_order`, `date_added`, `date_modified`, `status`) VALUES ( 65, 'data/Home/homewoomen/CD_J'adore_100ml.jpg', 18, 5, '2011-09-14 21:56:09','2011-09-14 22:39:28', 1);
Змінено користувачем afwollis
Надіслати
Поділитися на інших сайтах


klips06, у вас в названии изображения встречается одинарная ковычка, которая является спец-символом в sql.

такие символы надо экранировать в запросах.

Пробуйте так (экранируем спецсимволы в строках, используя внутреннюю функцию движка):

foreach ($imageNames as $imageName) {
				$maxImageId += 1;
				$sql = "INSERT INTO `".DB_PREFIX."product_image` (`product_image_id`, product_id, `image`) VALUES ";
				/*это одна */$sql .= "('".(int)$maxImageId."','".(int)$productId."','".$database->escape($imageName)."')";/* строка */
				$database->query( $sql );
			}
Надіслати
Поділитися на інших сайтах

Теперь выдаёт это.

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 'adore_100ml.jpg', 18, 5, '2011-09-14 21:56:09','2011-09-14 22:39:28', 1)' at line 1
Error No: 1064
INSERT INTO `oc_category` (`category_id`, `image`, `parent_id`, `sort_order`, `date_added`, `date_modified`, `status`) VALUES ( 65, 'data/Home/homewoomen/CD_J'adore_100ml.jpg', 18, 5, '2011-09-14 21:56:09','2011-09-14 22:39:28', 1);

А если из названии картинки просто убрать эту кавычку как думаете поможет ? (Я просто почему спрашиваю ,там много картинок и просто если это не поможет ,чтобы не тратить время)

Заранее afwollis огромное спасибо

Надіслати
Поділитися на інших сайтах


ясно, там надо во многих местах поправить запросы по вышеприведенному моему примеру.

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

укажите версию движка и дайте ссылку на используемый модуль импорта/экспорта.

Надіслати
Поділитися на інших сайтах

ясно, там надо во многих местах поправить запросы по вышеприведенному моему примеру.

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

укажите версию движка и дайте ссылку на используемый модуль импорта/экспорта.

версия движка OpenCart 1.4.9.4 ,скачивал здесь(с myopencart) ,а модуль импорт/экспорт был встроенный ,я сторонний не какой не устанавливал
Надіслати
Поділитися на інших сайтах


в админке посмотрите версию точнее, скорее всего ocStore_022 (правда в этом случае может отображаться ocStore_020 - была там ошибочка в выводе версии) либо дайте ссылку на страницу для скачивания той версии, которая у вас стоит.

Надіслати
Поділитися на інших сайтах

в админке посмотрите версию точнее, скорее всего ocStore_022 (правда в этом случае может отображаться ocStore_020 - была там ошибочка в выводе версии) либо дайте ссылку на страницу для скачивания той версии, которая у вас стоит.

Версия ocStore 0.2.0

Надіслати
Поділитися на інших сайтах


в файле admin/model/tool/export.php

найди

$sql2 = "INSERT INTO `".DB_PREFIX."category` (`category_id`, `image`, `parent_id`, `sort_order`, `date_added`, `date_modified`, `status`) VALUES ";

$sql2 .= "( $categoryId, '$imageName', $parentId, $sortOrder, ";

заменить на

$sql2 = "INSERT INTO `".DB_PREFIX."category` (`category_id`, `image`, `parent_id`, `sort_order`, `date_added`, `date_modified`, `status`) VALUES ";

$sql2 .= "( $categoryId, \"$imageName\", $parentId, $sortOrder, ";

Надіслати
Поділитися на інших сайтах

путь в админке до модуля напишите.

что-то не наблюдаю кроме 1С ничего ни в 020, ни в 022 :(

Система->ипорт/экспорт (в самом низу выподающего меню )

Качал вот отсюда сам движок http://myopencart.googlecode.com/files/ocstore_v0.2.2.zip

Надіслати
Поділитися на інших сайтах


в файле admin/model/tool/export.php

найди

$sql2 = "INSERT INTO `".DB_PREFIX."category` (`category_id`, `image`, `parent_id`, `sort_order`, `date_added`, `date_modified`, `status`) VALUES ";

$sql2 .= "( $categoryId, '$imageName', $parentId, $sortOrder, ";

заменить на

$sql2 = "INSERT INTO `".DB_PREFIX."category` (`category_id`, `image`, `parent_id`, `sort_order`, `date_added`, `date_modified`, `status`) VALUES ";

$sql2 .= "( $categoryId, \"$imageName\", $parentId, $sortOrder, ";

Аналогичная проблема вылазиет

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 'adore_L'or_40ml-1_enl.jpg')' at line 1
Error No: 1064
INSERT INTO `oc_product_image` (`product_image_id`, product_id, `image`) VALUES (68,254,'data/Home/woomen/ChristianDior/CD_J'adore_L'or_40ml-1_enl.jpg');
Надіслати
Поділитися на інших сайтах


может мне траву менять надо, но нет там импорта/экспорта:

post-3682-0-94278600-1317234261_thumb.png

afwollis Преношу свои извинения! Только ковыряюсь с этим движком и почему то был уверен до сие момента ,что это стандартная функция...

Стоит вот этот модуль https://opencartforum.com/files/file/21-importexport/ (opencart-1-4-9-18-export-import.zip)

Ещё раз извиняюсь за безалаберность =)

Надіслати
Поділитися на інших сайтах


Аналогичная проблема вылазиет

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 'adore_L'or_40ml-1_enl.jpg')' at line 1
Error No: 1064
INSERT INTO `oc_product_image` (`product_image_id`, product_id, `image`) VALUES (68,254,'data/Home/woomen/ChristianDior/CD_J'adore_L'or_40ml-1_enl.jpg');

:)))) тогда так

в файле admin/model/tool/export.php

найди

foreach ($imageNames as $imageName) {

$maxImageId += 1;

$sql = "INSERT INTO `".DB_PREFIX."product_image` (`product_image_id`, product_id, `image`) VALUES ";

$sql .= "($maxImageId,$productId,'$imageName');";

$database->query( $sql );

}

заменить на

foreach ($imageNames as $imageName) {

$maxImageId += 1;

$sql = "INSERT INTO `".DB_PREFIX."product_image` (`product_image_id`, product_id, `image`) VALUES ";

$sql .= "($maxImageId,$productId,\"$imageName\"); "

$database->query( $sql );

}

потом

$sql2 = "INSERT INTO `".DB_PREFIX."category` (`category_id`, `image`, `parent_id`, `sort_order`, `date_added`, `date_modified`, `status`) VALUES ";

$sql2 .= "( $categoryId, '$imageName', $parentId, $sortOrder, ";

заменить на

$sql2 = "INSERT INTO `".DB_PREFIX."category` (`category_id`, `image`, `parent_id`, `sort_order`, `date_added`, `date_modified`, `status`) VALUES ";

$sql2 .= "( $categoryId, \"$imageName\", $parentId, $sortOrder, ";

Надіслати
Поділитися на інших сайтах

afwollis Преношу свои извинения! Только ковыряюсь с этим движком и почему то был уверен до сие момента ,что это стандартная функция...

Стоит вот этот модуль https://opencartforum.com/files/file/21-importexport/ (opencart-1-4-9-18-export-import.zip)

Ещё раз извиняюсь за безалаберность =)

если возможно - дайте кусочек базы для отладки файла модели модуля.

наведу там порядок и выложу тут.

Надіслати
Поділитися на інших сайтах

если возможно - дайте кусочек базы для отладки файла модели модуля.

наведу там порядок и выложу тут.

afwollis я правильно понимаю ,кусочек базы ...... файла .xls ,которого делал экспорт ? Если да ,то пожалуйста.

1.rar

Надіслати
Поділитися на інших сайтах


:)))) тогда так

в файле admin/model/tool/export.php

найди

foreach ($imageNames as $imageName) {

$maxImageId += 1;

$sql = "INSERT INTO `".DB_PREFIX."product_image` (`product_image_id`, product_id, `image`) VALUES ";

$sql .= "($maxImageId,$productId,'$imageName');";

$database->query( $sql );

}

заменить на

foreach ($imageNames as $imageName) {

$maxImageId += 1;

$sql = "INSERT INTO `".DB_PREFIX."product_image` (`product_image_id`, product_id, `image`) VALUES ";

$sql .= "($maxImageId,$productId,\"$imageName\"); "

$database->query( $sql );

}

потом

$sql2 = "INSERT INTO `".DB_PREFIX."category` (`category_id`, `image`, `parent_id`, `sort_order`, `date_added`, `date_modified`, `status`) VALUES ";

$sql2 .= "( $categoryId, '$imageName', $parentId, $sortOrder, ";

заменить на

$sql2 = "INSERT INTO `".DB_PREFIX."category` (`category_id`, `image`, `parent_id`, `sort_order`, `date_added`, `date_modified`, `status`) VALUES ";

$sql2 .= "( $categoryId, \"$imageName\", $parentId, $sortOrder, ";

Не поверите )) А так вообще ругается на 1016 строчку ,хотя там вроде всё правильно ))Даже на страницу самого модуля не пускает ((

Надіслати
Поділитися на інших сайтах


afwollis я правильно понимаю ,кусочек базы ...... файла .xls ,которого делал экспорт ? Если да ,то пожалуйста.

понимаете правильно.

вот только перезалейте в ZIP (можно прямо на форум).

нет у меня возможности сейчас открыть rar-архив.

Надіслати
Поділитися на інших сайтах

klips06, а вообще база у вас большая?

просто, думаю, раз уж добрался до модуля экспорта/импорта и есть возможность осмотреть его, то неплохо было бы поработать над оптимизацией потребления ресурсов при работе с относительно большими базами.

Надіслати
Поділитися на інших сайтах

klips06, а вообще база у вас большая?

просто, думаю, раз уж добрался до модуля экспорта/импорта и есть возможность осмотреть его, то неплохо было бы поработать над оптимизацией потребления ресурсов при работе с относительно большими базами.

Я бы не сказал ,что большая там порядка 450-500 наименований всего.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.