Datenbankfehler bei Wartung des Forums

Started by Autoteilekauf.com, November 17, 2008, 07:03:11 AM

Previous topic - Next topic

Autoteilekauf.com

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?

dieter4

Hast du schonmal den Ratschlag in der Fehlermeldung befolgt?

Autoteilekauf.com

Da wollte ich lieber nicht, weil ich ja alle Updates schon über den
Admin-Bereich gemacht habe. Sollte ich das trotzdem tun?

dieter4

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!

Autoteilekauf.com

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?

Ferrika

Dann mußt Du voeher die neuen Sprach-Dateien hochladen. Findest du hier
was ich nicht will, das man mir tu, das füg ich keinem andren zu

Autoteilekauf.com

#6
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__); }
}

dieter4

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).

Autoteilekauf.com

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

Ferrika

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.
was ich nicht will, das man mir tu, das füg ich keinem andren zu

Autoteilekauf.com

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

ThorstenE

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..

Advertisement: