Typo3: You have an error in your SQL syntax

Hinweis: Wir haben in diesem Artikel möglicherweise Provisions-Links verwendet und sie durch (*) gekennzeichnet. Erfolgt über diese Links eine Bestellung, erhält maffert.net eine Provision. Es entstehen für Sie keine Nachteile beim Kauf oder Preis.

Letztens hatte ich das Problem das ich eine ältere Version von Typo3 auf einen neueren Webserver zum laufen bekommen musste. Ich erhielt folgende Fehlermeldung:

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 'recursive,menu_type,list_type,target,sectionIndex,accessibility_title,accessibil' at line 1

Wenn dies der Fall ist und man das Typo3 nicht aktualisieren kann, kann man versuchen die DatabaseConnection.php (typo3/sysext/core/Classes/Database/DatabaseConnection.php) wie folgt anzupassen:

Suchen nach:

// Build query

$query = 'INSERT INTO ' . $table . ' (' . implode(',', array_keys($fields_values)) . ') VALUES ' . '(' . implode(',', $fields_values) . ')';

und ersetzten mit:

// Build query

$keys = array_keys($fields_values);
foreach ($keys as $id => $key) {
$keys[$id] = '`' . $key . '`'; }
$query = 'INSERT INTO ' . $table . ' (' . implode(',', array_values($keys)) . ') VALUES ' . '(' . implode(',', $fields_values) . ')';

Nach der Änderung hat bei mir alles einwandfrei funktioniert. Ist zwar nicht die beste Idee aber die Typo3 Webseite funktioniert wieder! 😉

Quelle: https://forge.typo3.org/issues/83414

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*