Upgrade v12 auf v16 + MySQL Fehler

Hallo Community,

ich hoffe ihr könnt mir weiterhelfen. Bisher habe ich die Version 12.03 stabil genutzt und es gab keinen Grund für ein Upgrade. Jetzt muss aber aufgrund geänderter PHP Version auf Version 16.x ein Upgrade erfolgen. Leider kommt aber bereits schon vor Installation bereits folgender Fehler dessen Lösung ich suche.

Fatal error: Uncaught mysqli_sql_exception: 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 '-ck' at line 1 in /is/htdocs/wp13513959_9ZTPJNPMR9/www/erpCK/htdocs/core/db/mysqli.class.php:275 Stack trace: #0 /is/htdocs/wp13513959_9ZTPJNPMR9/www/erpCK/htdocs/core/db/mysqli.class.php(275): mysqli->query('SHOW TABLES FRO...') #1 /is/htdocs/wp13513959_9ZTPJNPMR9/www/erpCK/htdocs/core/db/mysqli.class.php(633): DoliDBMysqli->query('SHOW TABLES FRO...') #2 /is/htdocs/wp13513959_9ZTPJNPMR9/www/erpCK/htdocs/install/upgrade.php(269): DoliDBMysqli->DDLListTables('db13513959-ck', '') #3 {main} thrown in /is/htdocs/wp13513959_9ZTPJNPMR9/www/erpCK/htdocs/core/db/mysqli.class.php on line 275

Alle weiteren Systemchecks der Installation sind in Ordnung.

Vielleicht hatte schon jemand dieses Problem oder kennt die Lösung?

Dank euch für den Support.

Viele Grüße
Thomas

Hallo Tstaude,
ziemlicher Sprung, ohne die Fehlermeldung zu studieren, hätte ich mal den Sprung von v12 auf v13 probiert.

LG
Jason

Hallo Jason,
ja das wäre auch mein nächster / erster Schritt - hatte nur bereits in anderen Threads gelesen das Upgrades von 12 auf 14 bereits ohne nennenswerte Fehler erfolgreich durchgeführt wurden.

Danke schon einmal für den Hinweis.

VG
Thomas

Was ist der Name der Datenbank in conf.php?

Der Code der Funktion DDLListTables wurde zwischen 12 und 16, vermutlich aus Sicherheitsgründen, geändert. Wenn der Name Zeichen außer folgender Liste enthält, kann es zu Probleme führen:

  • Buchstaben A zu Z (groß und klein)
  • Ziffern 0 bis 9
  • . (Punkt), - (Minuszeichen) und _ (Unterstrich)

Alle andere Zeichen sind grundsätzlich nicht erlaubt.

[edit] Tut mir Leid, ich hätte besser lesen sollen. Der Name ist db13513959-ck. Sobald ich ein bißchen Zeit habe, prüfe ich, ob dieser Name das Problem ist.

Ein Test bestätigt, dass das Minuszeichen am Ursprung des Problems steht.

In MariaDB darf man Minuszeichen (-) in Datenbank- und Tabellennamen benutzen, aber bei den Abfragen muss man den Namen zwischen Backticks setzen. Dolibarr tut das nicht (auch aus verständlichen Gründen, u.a. Kompatibilität mit PostgreSQL).

Ich würde dir empfehlen, deine Datenbank umzubenennen (oder eine Kopie davon mit einem kompatiblen Namen zu schaffen).

Hallo,

vielen Dank für den Hinweis - werde ich schnellstmöglich probieren den Datenbanknamen zu ändern in der Hoffnung damit löst sich das Thema bereits auf.

VG
Thomas

Hallo,

habe jetzt einmal bei meinen Provider „HostEurope“ geschaut und wollte den Datenbanknamen anpassen. Leider werden die Suffix bereits mit dem „Minuszeichen“ systemseitig von HostEurope vorgegeben. Auch vielleicht ein wichtiger Hinweis das die v16 oder v14 noch gar nicht auf den Server aufgespielt wurde sondern es geplant ist jedoch dieser Fehler bereits kommt wenn ich über den aktuellen Install gehe was ich gemacht habe um zu schauen ob zumindest keine weiteren Fehler vorliegen bevor ich ein Upgrade hochlade.
Leider noch immer etwas „ratlos“

Viele Grüße
Thomas