Neu SQL Syntax-Error beim Abgleich von Variationsartikeln

Blackbeards

Mitglied
26. Juli 2018
10
1
Hallo,

beim Abgleich von Artikeln mit Variationskombinationen wird nur der Vaterartikel ohne Variationskombination korrekt an Woocommerce gesendet. Das heißt die Varianten landen nicht in Woocommerce. Folgender damit ziemlich eindeutig zusammenhängender Output ist im PHP Errorlog unseres Servers zu finden:

Code:
[Mon Jan 21 17:55:30.608431 2019] [:error] [pid 3112:tid 139647875217152] [client 123.123.123.123:52554] FastCGI: server "/path/to/php7.2-fpm-blackbeards.de" stderr: PHP message: WordPress-Datenbank-Fehler You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 's Bart\xc3\xb6l Classic'' at line 5 f\xc3\xbcr Abfrage SELECT  lsv.host_id , lsv.endpoint_id, t.term_id, t.name, tt.term_taxonomy_id, tt.taxonomy, t.slug
[Mon Jan 21 17:55:30.608435 2019] [:error] [pid 3112:tid 139647875217152] [client 123.123.123.123:52554] FastCGI: server "/usr/sbin/php7.2-fpm-blackbeards.de" stderr:                 FROM obfuscatedprefix_terms t
[Mon Jan 21 17:55:30.608438 2019] [:error] [pid 3112:tid 139647875217152] [client 123.123.123.123:52554] FastCGI: server "/usr/sbin/php7.2-fpm-blackbeards.de" stderr:                   LEFT JOIN obfuscatedprefix_term_taxonomy tt ON t.term_id = tt.term_id
[Mon Jan 21 17:55:30.608441 2019] [:error] [pid 3112:tid 139647875217152] [client 123.123.123.123:52554] FastCGI: server "/usr/sbin/php7.2-fpm-blackbeards.de" stderr:                   LEFT JOIN obfuscatedprefix_jtl_connector_link_specific_value lsv ON tt.term_taxonomy_id = lsv.endpoint_id
[Mon Jan 21 17:55:30.608444 2019] [:error] [pid 3112:tid 139647875217152] [client 123.123.123.123:52554] FastCGI: server "/usr/sbin/php7.2-fpm-blackbeards.de" stderr:                 WHERE tt.taxonomy LIKE 'pa_bartoel' AND t.name = 'Mr. Burton's Bart\xc3\xb6l Classic';
[Mon Jan 21 17:55:30.608447 2019] [:error] [pid 3112:tid 139647875217152] [client 123.123.123.123:52554] FastCGI: server "/usr/sbin/php7.2-fpm-blackbeards.de" stderr:          von require('wp-blog-header.php'), wp, WP->main, WP->parse_request, do_action_ref_array, WP_Hook->do_action, WP_Hook->apply_filters, JtlConnector::capture_request, require('/path/to/plugins/woo-jtl-connector/src/bootstrap.php'), jtl\\Connector\\Application\\Application->run, jtl\\Connector\\Application\\Application->runSingl...
(Wordpress Tabellenprefix, absolute Pfade und IP-Adresse wurden aus Sicherheitsgründen geschwärzt)

Dieser Fehler wiederholt sich für jede Variante.

Versionen:
JTL-Wawi: 1.3.20.0
JTL-Connector: 1.6.3.3
Woocommerce: 3.5.3
Wordpress: 5.0.3

Mit freundlichen Grüßen,
Elias Kahl
blackbeards.de
 

joebill

Aktives Mitglied
3. November 2015
49
4
Ich habe das gleiche Problem, leider konnten die Kollegen von JTL keine Lösung finden da trotz langer geduldiger Recherche Fehler nicht nachstellbar - sollte sich hier ein Ansatz auftun, wäre das natürlich auch für uns gut zu wissen.
Thumbs up,
Roland
 

Blackbeards

Mitglied
26. Juli 2018
10
1
Der Fehler ist auf Sonderzeichen im speziellen single quotes ( ' ) im Merkmalnamen zurückzuführen. Diese werden nicht richtig vom JTL-Connector escaped.

@Jan Weskamp
https://gitlab.jtl-software.de/jtlc...src/Utilities/SqlTraits/SpecificTrait.php#L79
Code:
$specificValueName
sollte richtig escaped werden.

@joebill
Schau mal ob du Sonderzeichen in deinen Merkmalwertten bzw. Variationsnamen hast, insbesondere single quotes ( ' ), und ersetze diese durch HTML-Entities (z.B. ' für single quotes). Das sollte den Fehler beheben.
Wenn das nicht direkt funktioniert, kann es sein, dass du die betroffenen Merkmale nochmal für den Onlineshop komplett deaktivieren und wieder aktivieren musst mit jeweils einem Abgleich dazwischen. Und anschließend evtl. auch nochmal die betroffenen Artikel inklusive Variationskombinationen für den Onlineshop deaktivieren und wieder aktivieren musst, damit die Änderungen richtig übernommen werden auch mit jeweils einem Abgleich dazwischen.
 
Zuletzt bearbeitet:

Jan Weskamp

Moderator
Mitarbeiter
19. August 2015
346
35
Der Fehler ist auf Sonderzeichen im speziellen single quotes ( ' ) im Merkmalnamen zurückzuführen. Diese werden nicht richtig vom JTL-Connector escaped.

@Jan Weskamp
https://gitlab.jtl-software.de/jtlc...src/Utilities/SqlTraits/SpecificTrait.php#L79
Code:
$specificValueName
sollte richtig escaped werden.

@joebill
Schau mal ob du Sonderzeichen in deinen Merkmalwertten bzw. Variationsnamen hast, insbesondere single quotes ( ' ), und ersetze diese durch HTML-Entities (z.B. ' für single quotes). Das sollte den Fehler beheben.
Wenn das nicht direkt funktioniert, kann es sein, dass du die betroffenen Merkmale nochmal für den Onlineshop komplett deaktivieren und wieder aktivieren musst mit jeweils einem Abgleich dazwischen. Und anschließend evtl. auch nochmal die betroffenen Artikel inklusive Variationskombinationen für den Onlineshop deaktivieren und wieder aktivieren musst, damit die Änderungen richtig übernommen werden auch mit jeweils einem Abgleich dazwischen.

Hallo Blackbeards,

Dein Problem ist bei uns nicht nachstellbar in mehreren Testshops tritt kein Fehler mit solchen single quotes ( ' ) etc. auf.

error.PNG
 

Blackbeards

Mitglied
26. Juli 2018
10
1
Was ist denn der Rückgabewert von JtlWooCommerceConnector\Utilities\SqlTraits\SpecificTrait::getSpecificValueId() in euren Testshops?
Der Fehler in den JTL-Connector eigenen Logs zu finden lediglich im Wordpress debug.log oder, falls dieser nicht aktiv ist, entsprechend im apache2 oder nginx bzw. php-fpm error.log.
Im JTL-Connector database.log ist eindeutig fehlerhafte SQL-Syntax zu finden, die durch einen single quote im Merkmalwert entsteht:

Code:
[2019-01-23 09:17:26] database.DEBUG:
SELECT lsv.host_id , lsv.endpoint_id, t.term_id, t.name, tt.term_taxonomy_id, tt.taxonomy, t.slug
FROM obfuscatedprefix_terms t
LEFT JOIN obfuscatedprefix_term_taxonomy tt ON t.term_id = tt.term_id
LEFT JOIN obfuscatedprefix_jtl_connector_link_specific_value lsv ON tt.term_taxonomy_id = lsv.endpoint_id
WHERE tt.taxonomy LIKE 'pa_bartoel' AND t.name = 'Beyer's Oil Bartöl Eisenkraut';
                                                       ^
                                               Dieser single quote bricht die SQL Syntax bzw. schließt den String.

Falls in euren Testshops sich der Fehler tatsächlich nicht reproduzieren lässt, muss es ja trotzdem einen Grund geben, warum dieser bei mehreren Nutzern auftritt...
Gibt es irgendwelche weiteren Informationen, die wir euch geben können und die euch helfen können diesen Fehler zu beheben bzw. zu reproduzieren?
 

joebill

Aktives Mitglied
3. November 2015
49
4
Bei uns liegt es nicht an Sonderzeichen - die haben wir nicht in den Merkmalen.
Ich bin ratlos. Nach dem Online Shop Abgleich von Wawi zu Woocommerce verschwinden sämtliche Variationen - besser gesagt, die für die Variationen festgelegten Eigenschaften werden anscheinend gelöscht. Füge ich die Variationseigenschaften in Woocommerce händisch im Produkt hinzu, erscheinen auch wieder die Variationen , diese sind also irgendwo richtig gespeichert, werden halt nicht "angetriggert".
Also alle händisch hinzugefügt bis zum nächsten Wawi-Onlineshop-Abgleich - danach sind dann wieder alle Variationen weg... gleiches Spiel, Eigenschaften händisch hinzugefügt, Variationen wieder da.
Alle Plugins deaktiviert, Produkte im Shop via WAWI gelöscht, neu aufgespielt via Connector - gleiches Ergebnis, Varianteneigenschaft hat keinen Wert, händisch setzen, Variante wieder da...
Hast Du einen Tipp, wer sich damit einmal beschäftigen kann??? Ich will meinen gut funktionierenden Shop nicht gleich komplett neu aufsetzen wegen dieses Zuweisungsfehlers, das würde ja Wochen dauern.
Wie gesagt, die Kollegen von JTL haben keine Lösung gefunden, konnten den Fehler nicht reproduzieren, der Connector soll einwandfrei arbeiten...
Danke, Roland
 

Jan Weskamp

Moderator
Mitarbeiter
19. August 2015
346
35
Hallo joebill,

hier eine Info zu deinem Problem : https://issues.jtl-software.de/issues/CO-421.

Dein Problem hat jedoch nichts mit dem von Blackbeards zu tun.


@Blackbeards : Ich weiß nicht genau wie das da failt. Allerdings ist das bei uns nicht nachstellbar tausch doch ' mit ´ oder wäre das schlimm für euch ? Ich könnte auch den String escaped speichern, allerdings wird das dann sichtbar im Frontend angezeigt Woo ist da was eigener mit Fremd eingefügten Daten.
 
Ähnliche Themen
Titel Forum Antworten Datum
Datenbank-Abfrage per SQL nach Lagermenge pro Artikel & Warenbereich (WMSLager) JTL-Wawi 1.8 1
Neu Logfile: SQL Fehler, aber warum? JTL-Shop - Fehler und Bugs 2
Beantwortet #GEFUNDEN# Suche jemand , der uns eine (automatische) SQL Abfrage erstellen kann mit Mail Ausgabe Dienstleistung, Jobs und Ähnliches 2
Neu Erstinstallation JTL WaWi 1.8.12 - heruntergeladen wird SQL Express 2017 _statt_ der empfohlenen 2022 Version Installation von JTL-Wawi 8
Neu MS SQL Server 2022 oder MS SQL Server 2022 Express? Installation von JTL-Wawi 8
Neu SQL-Fehler bei Volltextsuche und Sonderzeichen JTL-Shop - Fehler und Bugs 0
Neu SQL-Abfrage bei Kundenanlage JTL-Wawi 1.7 2
Neu einfache SQL Verknüfpung zweier Tabellen, z.B. Artikel mit ArtikelBeschreibung 1.6.46.1 Gelöste Themen in diesem Bereich 13
Neu CSV-Datei direkt in einer SQL-Abfrage verwenden User helfen Usern - Fragen zu JTL-Wawi 3
Neu SQL Ausgabe der Varko-Auswahl eines Artikels, mehrsprachig Tabelle zwei mal auf sich Joinen? User helfen Usern - Fragen zu JTL-Wawi 5
Neu SQL Abfrage in Excel User helfen Usern - Fragen zu JTL-Wawi 12
Neu SQL-Erfahrene vor - Nach Datenrettung - fehlende Aufträge lassen sich nicht einfügen - Ideen? User helfen Usern 4
Neu Nach Installation eines neuen SQL Servers klappt die Verbindung vom Benutzer-PC zum Server-PC nicht mehr. Installation von JTL-Wawi 5
Neu Fehler SQL-Schema importieren bei Neuinstallation Installation / Updates von JTL-Shop 7
Neu Update MS SQL 2014 auf MS SQL 2022 User helfen Usern - Fragen zu JTL-Wawi 0
Neu SQL Abfrage Artikelbezeichnung auf Englisch für Artikeletikett User helfen Usern - Fragen zu JTL-Wawi 4
Neu Datenbankebene per SQL löschen Eigene Übersichten in der JTL-Wawi 6
Neu MS SQL 14 Express wird langsam voll. Welche Lienzen benötigen wir? Bitte um Hilfe Eigene Übersichten in der JTL-Wawi 27
Neu SQL Abfrage wird mehrfach ausgeführt - Ausgabe in der Übersicht falsch Eigene Übersichten in der JTL-Wawi 8
Upgrade von SQL Server 2014 auf höhere Version JTL-Wawi 1.8 4
1.8.11.0 - Worker SQL lässt System hängen JTL-Wawi 1.8 0
Neu List&Label Merkmale auf Etiketten (SQL) Gelöste Themen in diesem Bereich 3
Neu SQL Server Express 2017 auf 2022 Update Installation von JTL-Wawi 10
Neu Nach SQL Server neuinstallation Benutzer gelöscht? JTL-Wawi - Fehler und Bugs 3
Neu Versandart + Zahlungsart in Rechnungskorrektur (SQL) User helfen Usern - Fragen zu JTL-Wawi 10
SQL Abfrage via Ameise: Seriennummer u. weitere Daten JTL-Wawi 1.8 0
1.8.10.0 - SQL-Job Performance-Optimierung JTL-Wawi 1.8 24
Neu SQL 2017 auf 2022 updaten (express) User helfen Usern - Fragen zu JTL-Wawi 1
Neu SQL Abfrage über ODBC für Bewegunghistorie (WMS) Eigene Übersichten in der JTL-Wawi 4
Komplexe SQL Abfrage zu gelieferten Artikeln mit eigenen Feldern - Hilfe gesucht JTL-Wawi 1.8 1
SQL Abfrage alle Aufträge ohne Lieferschein JTL-Wawi 1.8 2
SQL ifGetPrice liefert nur netto Preise, wie komme ich an Brutto ran? JTL-Wawi 1.7 4
Gelöst Shop 5.3.1 Fatal Error Gelöste Themen in diesem Bereich 2
Verlässlicher Error nach 30 Sekunden temporäre Filter / Filter Artikelsuche JTL-Wawi 1.7 3
In Diskussion Liquid error: Parameteranzahlkonflikt bei einer einfachen Anweisung Gelöste Themen in diesem Bereich 3
Zahlungsarten und Versandarten ERROR 500 Einrichtung JTL-Shop5 7
Neu Error beim öffnen von Artikeln und Unterkategorien in zweiter Sprache JTL-Shop - Fehler und Bugs 1
Neu Shop nicht mehr erreichbar HTTP 500 Error Betrieb / Pflege von JTL-Shop 1
Neu Fatal Error nach Serverumzug - Was tun? Betrieb / Pflege von JTL-Shop 2
Neu GLS - Originalmeldung Meldung: An error occurred when validating input: Field 'Name1' in Delivery is not present or not valid. JTL-ShippingLabels - Ideen, Lob und Kritik 0
Neu Keine Verbindung zu Webshop - Error 500 WooCommerce-Connector 4
Neu Minütlicher Logeintrag "Routing error: Method Not Allowed" Betrieb / Pflege von JTL-Shop 1
Beantwortet Fehler bei Synchronisation [PHP Fatal Error] Gelöste Themen in diesem Bereich 2

Ähnliche Themen