Auteur
Message

bezakeo

Inscrit le : 14/01/2019

Messages : 1

Publié : 26/09/2019 21:18:53 "Citer"

Bonjour

J'ai un problème pour importer des xlsx et les apostrophes ...

Je suis en phase de test pour générer des xlsx en php pour exporter des produits d'un outil perso à moi, et les importer ensuite via merlin. C'est pour cette raison que j'ai pris ce logiciel surtout.

Bref je fais des test avec des xlsx avec juste quelques champs, et une seule ligne. Mais dès que le titre de mon produit contient un apostrophe l'importation m'indique mon produit comme orphelin. Il apparait pas dans prestashop etc. Bref ça échoue. Si mon titre n'a pas d'apostrophe tout fonctionne à merveille. Pareil pour les champs descriptions ...

J'ai supposé que mon script et la librairie de génération de xlsx produisait ce problème. Du coup j'ai créé un fichier excel à la main, avec apostrophe et rebelote, impossible d'importer correctement. Et je n'ai pas de message d'erreur. Je suis développeur, je sais résoudre les bugs en théorie et là la seule différence entre une bonne ou une mauvaise importation c'est l'apostrophe. J'ai bien entendu tenter de les échapper mais cela ne change rien.

Je ne comprend pas.

Merci pour votre aide car sans ça, ma boutique restera vide.

Version 1.3.3.a.build2.64b

Edit : voici le log de l'erreur sql : ERREUR MYSQL : 0 TABLE : ps_product / SQL: 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 '', 'test-l-elephant', 'desc2', 'desc1', @mon_id_product FROM ps_lang,ps_shop WHE' at line 1INSERT INTO ps_product_lang (ps_product_lang.id_shop,ps_product_lang.id_lang,ps_product_lang.name,ps_product_lang.link_rewrite,ps_product_lang.`description`,ps_product_lang.`description_short`,ps_product_lang.id_product) (SELECT ps_shop.id_shop, ps_lang.id_lang,'test l\'éléphant', 'test-l-elephant', 'desc2', 'desc1', @mon_id_product FROM ps_lang,ps_shop WHERE ps_shop.id_shop=@mon_id_shop) ON DUPLICATE KEY UPDATE ps_product_lang.name= IF(ps_product_lang.name ='' OR ps_product_lang.id_lang=1,VALUES( ps_product_lang.name), ps_product_lang.name) , ps_product_lang.`description`= IF(ps_product_lang.id_lang=1,VALUES(ps_product_lang.`description`), ps_product_lang.`description`) , ps_product_lang.`description_short`= IF(ps_product_lang.id_lang=1,VALUES(ps_product_lang.`description_short`), ps_product_lang.`description_short`)

Franck B.

Inscrit le : 04/12/2011

Messages : 491

Publié : 30/10/2019 13:35:41 "Citer"

Bonjour,

Il s’agit d’un bug de programmation apparu dans la dernière mise à jour. Mais il n’est présent que si une option cochée par défaut a été décochée.

Pour le contourner, en attendant un correctif, il faut :

-aller dans le second onglet ‘paramètres avancés’ de la fenêtre de connexion
-côcher l’option ‘crypter les requêtes envoyées’

On perd un peu en vitesse mais on gagne en sécurité. Cette option ne peut d’ailleurs pas être décochée si la connexion n’est pas sécurisée (https).

Cordialement
Franck


Recherche dans le blog

PayPal