Nach dem Update auf 1.1.7 ist mir ein Fehler aufgefallen,
bei dem ich nicht genau weiss, ob er vorher schon da war.
Bei der Funktion "Wartung des Forums" -> "Fehler finden & reparieren"
werden die vorhandenen Verknüpfungsfehler von nicht existierenden Usern
ganz normal angezeigt. Nach Bestätigen der Fehlerbehebung kommt:
QuoteYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.67.84, 212.64.224.244, 62.216.222.155, 77.188.247.145, 78.2.51.64, 86.56.186.22' at line 2
Datei: /is/htdocs/wp1042278_CLQ3D3VQ99/www/html/forum/Sources/RepairBoards.php
Zeile: 678
Achtung: Ihre Datenbank scheint veraltet zu sein! Ihre Dateien haben die Version SMF 1.1.7, wogegen die Datenbank die Version 1.1.2 hat. Es wird dringend empfohlen, die neueste Version der upgrade.php auszuführen.
Wie kann ich das beheben?
Hast du schonmal den Ratschlag in der Fehlermeldung befolgt?
Da wollte ich lieber nicht, weil ich ja alle Updates schon über den
Admin-Bereich gemacht habe. Sollte ich das trotzdem tun?
Es kann passieren, dass die Patches über das Admin-CP nicht richtig übernommen werden.
Lade dir mal das Upgrade-Paket von der Downloadseite und lade nur die upgrade.php hoch. Führe sie dann aus.
Backups nicht vergessen!
Was bringt das, wenn nur diese Datei hochgeladen ist?
Hab ich gemacht:
QuoteThe upgrader found some old or outdated language files.
Please make certain you uploaded the new versions of all the files included in the package,
even the theme and language files for the default theme.
Click here to try again.
Doch mal das komplette Upgrade drüber laufen lassen?
Dann mußt Du voeher die neuen Sprach-Dateien hochladen. Findest du hier (http://www.simplemachines.org/download/?languages;lang=german)
OK. Manchmal sollte man echt selbst was wagen. :-\
- Sprachdateien hochgeladen.
- Upgrade.php laufen lassen.
- Ohne Fehler beendet.
Das Datenbank-Versions Problem ist zwar behoben aber der Text bleibt:
QuoteYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.67.84, 212.64.224.244, 62.216.222.155, 77.188.247.145, 78.2.51.64, 86.56.186.22' at line 2
Datei: /is/htdocs/wp1042278_CLQ3D3VQ99/www/html/forum/Sources/RepairBoards.php
Zeile: 678
Hab mir die betroffene Stelle mal angeschaut.
if (empty($to_fix) || in_array('missing_member_vote', $to_fix))
{
$result = db_query("
SELECT lp.ID_MEMBER
FROM {$db_prefix}log_polls AS lp
LEFT JOIN {$db_prefix}members AS mem ON (mem.ID_MEMBER = lp.ID_MEMBER)
WHERE mem.ID_MEMBER IS NULL
GROUP BY lp.ID_MEMBER", __FILE__, __LINE__);
$members = array();
while ($row = mysql_fetch_assoc($result))
$members[] = $row['ID_MEMBER'];
mysql_free_result($result);
if (!empty($members))
{
db_query("
DELETE FROM {$db_prefix}log_polls
WHERE ID_MEMBER IN (" . implode(', ', $members) . ")", __FILE__, __LINE__); }
}
Geh mal bitte nach Admin-CP -> Forenwartung -> Alle Dateien auf aktuelle Version prüfen.
Wenn etwas rot ist, musst du die aktuellsten Dateien hochladen, also ein Upgrade machen (nur die upgrade.php nicht ausführen).
Bis auf zwei Sprachdateien sind alle Dateien auf dem neuesten Stand.
Das sind übrigens die Fehler die er findet und reparieren sollte,
worauf ja dann die Datenbankfehlermeldung erscheint:
QuoteFolgende Fehler sind im Forum aufgetreten (leer wenn keine):
In der Umfrage #6 wurde vom Benutzer #0 abgestimmt, welcher nicht mehr existiert.
In der Umfrage #14 wurde vom Benutzer #201 abgestimmt, welcher nicht mehr existiert.
In der Umfrage #6 wurde vom Benutzer #212 abgestimmt, welcher nicht mehr existiert.
In der Umfrage #14 wurde vom Benutzer #62 abgestimmt, welcher nicht mehr existiert.
In der Umfrage #11 wurde vom Benutzer #77 abgestimmt, welcher nicht mehr existiert.
In der Umfrage #11 wurde vom Benutzer #78 abgestimmt, welcher nicht mehr existiert.
In der Umfrage #6 wurde vom Benutzer #86 abgestimmt, welcher nicht mehr existiert.
In der Umfrage #6 wurde vom Benutzer #87 abgestimmt, welcher nicht mehr existiert.
In der Umfrage #6 wurde vom Benutzer #91 abgestimmt, welcher nicht mehr existiert.
In der Umfrage #6 wurde vom Benutzer #91 abgestimmt, welcher nicht mehr existiert.
Möchten Sie diese Fehler reparieren?
Ja - Nein
Der Fehler steckt in der Datenbanktabelle **_log_polls. Wenn ich mich recht erinnere, (Neakro, berichtige mich bitte, wenn ich falsch liege), kann man diese Tabelle getrost leeren. Mache aber bitte vorher ein Backup von dieser Tabelle. Dann leere sie und schau mal, ob dann wieder alles in Ordnung ist. (Leeren, NICHT LÖSCHEN)
Alternativ kannst Du vorher probieren, die Tabellen in der Datenbank einmal komplett zu reparieren.
Tabelle ist geleert. Keine Fehler mehr gefunden.
Bin gespannt was passiert, wenn wieder Fehler zum korrigieren sind.
Ob die Fehlermeldung dann auch wieder kommt. Danke erstmal. ;D
das Leeren der log_polls hat aber die Folge, daß gespeicherte Stimmen verloren gehen. das bedeutet z.b., daß ein User bei einem Poll, bei dem er bereits abgestimmt hat erneut stimmen kann..