Error getting user list for group

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Medics
Mitglied
Beiträge: 60
Registriert: 20.09.2004 07:32
Wohnort: Kierspe
Kontaktdaten:

Error getting user list for group

Beitrag von Medics »

Hallo zusammen,

wenn ich die Benutzergruppen auflisten will bekomme ich die folgende Fehlermeldung:

Code: Alles auswählen

Error getting user list for group

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax near 'ORDER BY u.username' at line 7

SELECT u.username, u.user_id, u.user_viewemail, u.user_posts, u.user_regdate, u.user_from, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim, u.user_msnm, ug.user_pending FROM phpbb_users u, phpbb_user_group ug WHERE ug.group_id = 55 AND u.user_id = ug.user_id AND ug.user_pending = 0 AND ug.user_id <> ORDER BY u.username

Line : 786
File : groupcp.php
Ich verwende phpBB 2.0.15 und habe auch verschiedene Mods eingebaut.
Bis jetzt hat alles super funktioniert.
Meine letzte Veränderung war das Update auf 2.0.15 und das Update des
Attachment Mod auf 2.3.13.

Eine genauere Beschreibung: Wenn ich oben im Forenmenü
auf "Benutzergruppen" klicke, erscheint die Seite mit der Auswahlbox der
vorhandenen Gruppen (Gruppen ohne deine Mitgliedschaft). Lasse ich die
erste vorhandene Gruppe in der Liste stehen und wähle "Informationen",
dann werden die Gruppenmitglieder sauber angezeigt. Suche ich mir
jedoch eine andere Gruppe aus der Liste aus und wähle "Informationen",
dann bekomme ich die oben angegebene Fehlermeldung.

Das Board findet sich unter http://www.drk-kierspe.de/forum

Die Datei groupcp.php findet sich unter http://www.drk-kierspe.de/forum/groupcp.php.txt

Ich wäre sehr dankbar, wenn sich das mal jemand anschauen könnte.

Vielen herzlichen Dank dafür.
Christian
Benutzeravatar
MrMind
Mitglied
Beiträge: 464
Registriert: 29.11.2003 17:14
Wohnort: Darmstadt/Odw
Kontaktdaten:

Beitrag von MrMind »

Ich habs mir angeguckt, konnte aber keinen Fehler feststellen. Ich konnte lediglich das ganze eingrenzen wo der Fehler zu finden ist.

Allerdings in dem Bereich habe ich keinen Fehler gefunden:

Code: Alles auswählen

//
	// Get group details
	//
	$sql = "SELECT *
		FROM " . GROUPS_TABLE . "
		WHERE group_id = $group_id
			AND group_single_user = 0";
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Error getting group information', '', __LINE__, __FILE__, $sql);
	}

	if ( !($group_info = $db->sql_fetchrow($result)) )
	{
		message_die(GENERAL_MESSAGE, $lang['Group_not_exist']); 
	}

	//
	// Get moderator details for this group
	//
	$sql = "SELECT username, user_id, user_viewemail, user_posts, user_regdate, user_from, user_website, user_email, user_icq, user_aim, user_yim, user_msnm  
		FROM " . USERS_TABLE . " 
		WHERE user_id = " . $group_info['group_moderator'];
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Error getting user list for group', '', __LINE__, __FILE__, $sql);
	}

	$group_moderator = $db->sql_fetchrow($result); 

	//
	// Get user information for this group
	//
	$sql = "SELECT u.username, u.user_id, u.user_viewemail, u.user_posts, u.user_regdate, u.user_from, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim, u.user_msnm, ug.user_pending 
		FROM " . USERS_TABLE . " u, " . USER_GROUP_TABLE . " ug
		WHERE ug.group_id = $group_id
			AND u.user_id = ug.user_id
			AND ug.user_pending = 0 
			AND ug.user_id <> " . $group_moderator['user_id'] . " 
		ORDER BY u.username"; 
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Error getting user list for group', '', __LINE__, __FILE__, $sql);
	}
Ich muss allerdings auch dazu sagen, das ich net jedes kleinste bissl genau geprüft habe sondern einfach nur überflogen habe, wo sich die meisten beliebtesten Fehler verstecken.

Bei dir wird in der letzten SQL-Abfrage die Variable $group_moderator['user_id'] nicht eingesetzt bzw. als Leerstring.

Es könnte meiner ansicht auch sein, das vielleicht die Gruppenmoderatoren nicht mehr vorhanden sind, bzw. nicht in der DB eingetragen. Solltest du mal nachgucken (einmal via ACP welcher User als Gruppenmoderator eingetragen ist und dann aufjedenfall in der DB nochmal die Userid und so prüfen)

Allerdings denke ich, wenn das net so wäre, hät er bestimmt schon früher einen Fehler ausgeworfen.

Mfg
MrMind
Selbst ist der Coder
Coder unter Linux
Medics
Mitglied
Beiträge: 60
Registriert: 20.09.2004 07:32
Wohnort: Kierspe
Kontaktdaten:

Beitrag von Medics »

Hallo MrMind,
MrMind hat geschrieben:Es könnte meiner ansicht auch sein, das vielleicht die Gruppenmoderatoren nicht mehr vorhanden sind, bzw. nicht in der DB eingetragen.
Das mit den nicht vorhandenen Gruppenmoderatoren hat mich
nachdenklich gemacht. Ich habe vor ein paar Tagen den User gelöscht,
der Besitzer und somit Gruppenmoderator der Gruppen war. Es war der
Administrator des Boards. Danach habe ich einen anderen User als
Administrator angelegt. Kann es daran liegen? Wahrscheinlich, oder?

Ich schau mir das gleich mal an und melde mich dann mit meinen
Erkenntnissen.

Vielen Dank erstmal für Deine Mühe!

Christian
Medics
Mitglied
Beiträge: 60
Registriert: 20.09.2004 07:32
Wohnort: Kierspe
Kontaktdaten:

Beitrag von Medics »

Super, es funktioniert wieder. Es lag wirklich am nicht mehr vorhandenen Gruppenmoderator.

Der SQL-Befehl:

Code: Alles auswählen

UPDATE phpbb_groups
    SET group_moderator=99
    WHERE group_moderator=2
hat das Problem dann behoben.

Nochmals vielen Dank!

Christian
Benutzeravatar
MrMind
Mitglied
Beiträge: 464
Registriert: 29.11.2003 17:14
Wohnort: Darmstadt/Odw
Kontaktdaten:

Beitrag von MrMind »

Keine Ursache.

Wenn du wieder so ein Problem hast dann schau dir mal die SQL-Meldung genau an. Wenn dann sowas steht wie:

Code: Alles auswählen

 ... WHERE irgendwas = AND ...
Fehlt was in der Zuweisung, dies kann in erster Linie daran liegen, das eine Variable bei der Zuweisung gelöscht wurde (daher erstmal den Code betrachten) und wenn da alles stimmt, dann muss ein "Lade-Fehler" bei der Variable meistens die Ursache dafür sein. Wie das mit dem fehlenden Gruppenmoderator, da keine ID geladen werden konnte, war die Variable als Leerstring deklariert.

Mfg
MrMind
Selbst ist der Coder
Coder unter Linux
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“