PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Plötzlich "Database Error" bei register.php / Neue Registrierungen unmöglich


wirthensohn
10.08.2006, 18:41
Hallo zusammen,

unser Forum läuft seit geraumer Zeit völlig pflegeleicht auf vBulletin 3.5.4. Der normale Boardbetrieb rennt auch immer noch tadellos, aber seit heute morgen ganz plötzlich können sich keine neuen User mehr registrieren.

Ein User, der seine Daten in das Registrierungsformular eingetragen und abgeschickt hat, bekommt folgendes zu lesen:

Es trat ein Problem mit der Mazda-Forum Datenbank auf.
Bitte versuchen Sie es erneut, indem Sie die Seite neu laden (Aktualisieren / Refresh / Reload im Browser klicken).

Eine E-Mail wurde an den Technischen Administrator geschickt, den Sie ebenfalls kontaktieren können, falls das Problem weiterhin auftritt.

Wir entschuldigen uns für die Unannehmlichkeiten.
Ich als Administrator erhalte daraufhin folgende Mail zur Information:

Datenbankfehler in vBulletin 3.5.4:

Invalid SQL:
INSERT INTO vb3_userfield
(field6, userid)
VALUES
('D', 2632);

MySQL-Fehler : Doppelter Eintrag '2632' für Schlüssel 1
Fehler-Nr. : 1062
Datum : Thursday, August 10th 2006 @ 06:27:28 PM
Skript : http://www.mazda-forum.info/register.php
Referrer : http://www.mazda-forum.info/register.php
IP-Adresse : 193.158.39.222
Benutzername : cwtest2
Klassenname : vb_database

Ansonsten rennt das Forum, wie gesagt, einwandfrei. Ich habe auch bereits den MySQL-Server sämtliche Datenbanken und Tabellen prüfen und optimieren lassen und auch im Administrator-Kontrollzentrum das volle Programm aufgefahren, also alle Wartungen, Reparaturen und Optimierungen durchgezogen bis hin sogar zum kompletten Neuaufbau des Suchindexes. Aber nichts hat geholfen.

Am Forum, am Server, dem Datenbankserver oder der Datenbank hat sich rein gar nichts geändert.

Kann mir diesbezüglich jemand ganz fix einen Tipp geben, wie ich das Problem beseitigen kann?

Gruß,
Christian

wirthensohn
10.08.2006, 19:01
Ergänzung, weil gerade entdeckt:

Der User, der sich gerade versuchte, zu registrieren, wird in der Datenbank tatsächlich korrekt angelegt (Tabelle vb3_user), kriegt aber trotzdem einen auf den Deckel.

Die User-IDs in der User-Tabelle gehen aktuell bis 2632. In der Tabelle vb3_userfield reichen die User-IDs aber schon bis 3363. Irgendwie verständlich, dass die Datenbank dann rumzickt.

Gruß,
Christian

wirthensohn
10.08.2006, 19:28
Ok, das Problem habe ich erstmal beseitigt, in dem ich in allen Tabellen, die sich irgendwie mit Benutzern beschäftigen (also ein Feld "userid" haben), alle User-IDs größer der ID des zuletzt registrierten Benutzers gelöscht habe. Nun können sich wieder neue Benutzer anmelden.

Nur hält sich meine Begeisterung etwas in Grenzen, denn ich frage mich, wie plötzlich solch ominöse User-IDs nicht existenter Benutzer entstehen konnten und ob das wohl wieder passieren wird.

Irgendeine Idee, wie sowas zustande kommt?

Gruß,
Christian

Mystics
10.08.2006, 22:35
Hm, ImpEx liegt aber nicht mehr auf dem Server, oder?

wirthensohn
11.08.2006, 07:43
Hmmm.... Impex hatte ich aus dem System zwar komplett ausgebaut, aber wie ich gerade feststellen musste, wohl doch übersehen, auch das Verzeichnis von der Platte zu putzen.

Könnte das der Übeltäter sein?

Gruß,
Christian

Mystics
12.08.2006, 14:48
Vielleicht, glaube es aber eher nicht.

Charmed
10.11.2006, 17:47
Hallöle, hab genau das gleiche problem aber im vB 3.6.
Wie kann man das behebn? hab nicht allzu große Ahnung von SQL Abfragen.
Es trat auf einmal auf, habe nicht verändert oder so. Impex liegt bei mir auf dem Server. Was nun?

Gruß und Danke

Charmed

DerPate
10.11.2006, 19:34
Es trat auf einmal auf, habe nicht verändert oder so. Impex liegt bei mir auf dem Server. Was nun?


am besten das komplette Impex-Verzeichnis löschen.

wirthensohn
10.11.2006, 19:37
ImpEx war bei mir nicht der Übeltäter, sondern irgendwas vom Forum. Aus irgendeinem Grund waren in der Datenbank in mehreren Tabellen Einträge mit User-IDs enthalten, die es noch gar nicht gab. Damit ging dann jede neue Registrierung daneben. Das ganze System der Primärschlüssel war dadurch komplett aus der Spur.

Ich könnte Dir jetzt ehrlich gesagt so spontan keinen Tipp zur Problembehebung geben, wenn Du Dich mit Datenbanken und SQL nicht auskennst oder gar nicht mal Zugriff auf den SQL-Server hast.

Soviel kann ich Dir helfen: Du musst in der Tabelle "user" herausfinden, welches die höchste UserID ist und dann in den zahlreichen anderen Tabellen, die irgendwie mit Usern zu tun haben (also ein Feld userid besitzen) alle Datensätze entfernen, die auf eine nicht existente UserID verweisen (gilt nicht für die Tabellen post und thread).

Ich hoffe, das war so grob im Ansatz verständlich...?! ;)

Gruß,
Christian

Charmed
10.11.2006, 21:27
Habe Impex jetzt mal gelöscht. Das dumme ist nur, dass ich eben ein Update auf vB 3.6.3 gemacht hab. Nun bekomme ich folgenden Fehler:

Fatal error: Call to undefined function: fetch_regimage_hash() in /var/www/vhosts/world-charmed.eu/httpdocs/board/register.php on line 604

Weiß jemand was man da machen kann?

Gruß

Charmed

Mystics
11.11.2006, 00:11
Dann hast du wohl zu viel gelöscht oder du hast noch alte veraltete Dateien auf dem Server. Lade nochmal alle Dateien von 3.6.3 hoch und überschreibe dabei alle alten Dateien.

Und wegen dem Datenbank-Fehler:
Erstelle bitte ein Support-Ticket mit Admin-Zugang (alle Rechte) und phpMyAdmin-Daten.

http://members.vbulletin-germany.com/membersupport_contactform.php

Charmed
11.11.2006, 22:30
Daten noch mal überspielt und SupportTicket erstellt!