Seite 1 von 2
Simple Admin Userlist 2.0.2: SQL Error beim Benutzer löschen
Verfasst: 06.04.2006 16:19
von Gigabryte
Hallo,
habe den Simple Admin Userlist MOD in mein phpbb 2.0.17 eingebaut, sieht prima aus. Praktisch wäre allerdings wenns auch mit dem Benutzer löschen über die Liste klappen würde, aber ich erhalte immer nach Bestätigung der Löschung den Fehler:
Code: Alles auswählen
SQL Error : 1054 Unknown column 'u.user_id' in 'on clause'
SELECT u.username, u.user_id, g.group_id AS single_usergroup, g2.group_id AS group_moderator FROM phpbb_users u, phpbb_user_group ug, phpbb_groups g LEFT JOIN phpbb_groups g2 ON g2.group_moderator = u.user_id WHERE ug.user_id = u.user_id AND g.group_id = ug.group_id AND g.group_single_user = 1 AND u.user_id IN(150)
Line : 65
File : admin_userlist.php
... da scheint mir wohl etwas mit der SQL-Anweisung nicht zu stimmen.
Betroffener Code aus admin_userlist.php:
Code: Alles auswählen
// get necessary userdata including some group information
//
$sql = 'SELECT u.username, u.user_id, g.group_id AS single_usergroup, g2.group_id AS group_moderator
FROM ' . USERS_TABLE . ' u, ' . USER_GROUP_TABLE . ' ug, ' . GROUPS_TABLE . ' g
LEFT JOIN ' . GROUPS_TABLE . ' g2 ON g2.group_moderator = u.user_id
WHERE ug.user_id = u.user_id
AND g.group_id = ug.group_id
AND g.group_single_user = 1
AND u.user_id IN(' . implode(', ', $userlist) . ')';
Kann mir jemand helfen?
Viele Grüße, Arno.
Verfasst: 06.04.2006 18:07
von S2B
Mit welcher Datenbank läuft denn dein Forum?
Verfasst: 06.04.2006 18:21
von Gigabryte
Datenbankversion ist MySQL 5.0.18
Verfasst: 06.04.2006 18:35
von S2B
Gigabryte hat geschrieben:Datenbankversion ist MySQL 5.0.18
Seltsam, sowohl MySQL4 als auch MySQL4.1 lassen die Abfrage problemlos durch...
Vielleicht werde ich in den nächsten Tagen mal eine MySQL5-Version auf meinen Rechner installieren, aber ich kann mir eigentlich nicht vorstellen, dass es da Probleme geben sollte.
Hast du schon einmal überprüft, ob die user_id-Spalte in deiner users-Tabelle überhaupt existiert? Normal dürfte dann ein phpBB nicht mehr laufen, aber man lernt ja bekanntlich nie aus...

Verfasst: 06.04.2006 18:48
von Gigabryte
Okay, wegen Gäste- und Profil-Spam habe ich bei mir Dateien (posting und profile) umbenannt, das kann meines Erachtens aber nix damit zu tun haben, zumal die Abfrage ja auch bei dir einwandfrei läuft.
Übrigens läuft das ganze, auch MySQL als Windows-Version auf 2003 Server.
Versuch ich die Abfrage im Query-Browser zu starten bekomme ich den gleichen Fehler.
Kopier ich die Abfrage in Access mit eingebundenen phpbb-MySQL-Tabellen, dann meckert der auch schon rum, wegen Syntaxfehler. Okay Access joint eh anders, ist nicht grad die Referenz.
An der Datenbankdefinition dürfte es nicht liegen, die Felder sind alle vorhanden, auch die user_id insesondere in der Usertabelle.
Aber ich habe noch ein phpbb 2.0.19 im Fast-Rohzustand auf demselben Server, da werde ich den MOD an einer Kopie auch mal schnell einbauen.
Wenn du mir schon helfen willst, dann versuch ich auch es dir so einfach wie möglich zu machen

Verfasst: 06.04.2006 19:38
von Gigabryte
Nunja, an meinem Forum lags nicht. In dem anderen (Test-)Forum bekomme ich den selben Fehler.
Am Windows-PHP für IIS6 und dem MySQL-ODBC-Treiber kanns auch nicht liegen, sonst würde der Querybrowser nicht meckern.
Also bleibt als Fehlerquelle eigentlich nur noch die MySQL-Datenbankversion
Wäre also fein, wenn du die Möglichkeit hättest das bei dir mal auszuprobieren, mir gehen so langsam die jungfräulichen Rechner aus
Alles andere läuft übrigens fein. Prima MOD!

Verfasst: 06.04.2006 20:19
von S2B
Gigabryte hat geschrieben:Wäre also fein, wenn du die Möglichkeit hättest das bei dir mal auszuprobieren, mir gehen so langsam die jungfräulichen Rechner aus

Ich hoffe, dass ich am Wochenende Zeit dafür finde...
Gigabryte hat geschrieben:Alles andere läuft übrigens fein. Prima MOD!

Freut mich, dass er dir gefällt.

Verfasst: 07.04.2006 18:13
von S2B
Es liegt in der Tat an MySQL5:
Finden:
Code: Alles auswählen
$sql = 'SELECT u.username, u.user_id, g.group_id AS single_usergroup, g2.group_id AS group_moderator
FROM ' . USERS_TABLE . ' u, ' . USER_GROUP_TABLE . ' ug, ' . GROUPS_TABLE . ' g
LEFT JOIN ' . GROUPS_TABLE . ' g2 ON g2.group_moderator = u.user_id
WHERE ug.user_id = u.user_id
AND g.group_id = ug.group_id
AND g.group_single_user = 1
AND u.user_id IN(' . implode(', ', $userlist) . ')';
Ersetzen mit:
Code: Alles auswählen
$sql = 'SELECT u.username, u.user_id, g.group_id AS single_usergroup, g2.group_id AS group_moderator
FROM ' . USERS_TABLE . ' u
INNER JOIN ' . USER_GROUP_TABLE . ' ug
ON ug.user_id = u.user_id
INNER JOIN ' . GROUPS_TABLE . ' g
ON g.group_id = ug.group_id
AND g.group_single_user = 1
LEFT JOIN ' . GROUPS_TABLE . ' g2
ON g2.group_moderator = u.user_id
WHERE u.user_id IN(' . implode(', ', $userlist) . ')';
Im Moment prüfe ich noch, ähm, ich lasse prüfen (*g*), ob ich das Query in der neuen Version ändere.

Verfasst: 07.04.2006 18:31
von Gigabryte
Benutzer wurde erfolgreich gelöscht. !!!
Vielen Dank, das hat ungemein geholfen
Dann wünsche ich dir ein schönes Wochenende und vielen Dank für deine erfolgreiche Hilfe!
Arno.
Verfasst: 12.08.2006 10:59
von chrisko
Hi,
kämpfe eben mit exact dem gleichen Problem... leider nicht erfolgreich.
PHPMyAdmin 2.5.7-pl1
MySQL 5.0.22-Debian_2bpo1
das Ganze unter Confixx
Nach dem Umbau wie vor bekomme ich folgende Meldung:
-----------------------------
Could not update posts for this user
DEBUG MODE
SQL Error : 1064 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 '' at line 3
UPDATE phpbb_posts SET poster_id = -1, post_username = '' WHERE poster_id =
Line : 156
File : admin_userlist.php
----------------
Vielleicht hast du ne Idee... vielen Dank
Chrisko