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
Danke, klappt wunderbar.