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
59
8
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
59
8
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
Kundenstammdaten - "Eigenes Feld" in SQL auslesen JTL-Wawi 1.9 2
Aktuelles Update 1.11.7: Anmeldedialog merkt sich den letzten User immer noch nicht & falsche Warnung für angeblich fehlendes SQL Server Update JTL-Wawi 1.11 3
Neu Frage zu SQL Statement - Kunden-Kommentar aus Auftrag auf Pickliste User helfen Usern - Fragen zu JTL-Wawi 1
Neu Bestellungen werden verzögert oder nicht gepullt – Ursache: Zeitzonen-Filter im SQL des WooCommerce-Connectors WooCommerce-Connector 0
Neu SQL Worker.tStatus - Bedeutung von nStatus? JTL Ameise - Eigene Exporte 2
Neu Suche Servicepartner für SQL-Abfrage Dienstleistung, Jobs und Ähnliches 2
Neu askJan | Neuer KI-Assistent für JTL-Wawi - schnelle, effiziente und transparente KI-Datenanalyse - ohne SQL! Dienstleistung, Jobs und Ähnliches 41
Neu JTL-Wawi 1.11.5: Sequenzieller Kundenexport mit Workflow und SQL-Queue Schnittstellen Import / Export 2
Neu Wie lässt sich der Lieferstatus von Aufträgen per SQL abfragen? User helfen Usern - Fragen zu JTL-Wawi 8
Neu JTL Wawi auf Windows Server 2025 mit SQL 2025? Installation von JTL-Wawi 21
Neu JTL Diag / SQL Mitschnitt lässt sich nicht mehr starten User helfen Usern - Fragen zu JTL-Wawi 12
Neu JTL_DirectQuery - SQL Abfrage Anzahl der Pakete auf Versandliste (DPD) User helfen Usern - Fragen zu JTL-Wawi 4
Neu Nach Shopupdate http error 500 JTL-Shop - Fehler und Bugs 9
Neu Bewusst deaktivierte Mail-Vorlagen erscheinen als Core Error im Logbuch Betrieb / Pflege von JTL-Shop 5
Seit Update auf 1.11.4 Workflow für Kartonauswahl gibt error JTL Das Objekt mit Nullwert muss einen Wert haben. BrowsePk: 152325 WorkflowAktionId: 155 JTL-Wawi 1.11 1
Neu [ERROR] Attribut child_parent_sku_relationship fehlt. Amazon-Lister - Fehler und Bugs 54

Ähnliche Themen