Codeanpassung für mysql 5 - wer kann helfen?!

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
Vanessa
Mitglied
Beiträge: 18
Registriert: 15.02.2003 14:12
Wohnort: Bergstrasse
Kontaktdaten:

Codeanpassung für mysql 5 - wer kann helfen?!

Beitrag von Vanessa »

hallo!

seit der umstellung auf mysql 5.0.24 bekomme ich - wie schon andere vor mir - folgende fehler angezeigt:

beim posten und löschen von posts:
Error geting users post stat

DEBUG MODE

SQL Error : 1054 Unknown column 'g.group_id' in 'on clause'

SELECT ug.user_id, g.group_id as g_id, u.user_posts, g.group_count, g.group_count_max FROM phpbb_geogroups g, phpbb_geousers u LEFT JOIN phpbb_geouser_group ug ON g.group_id=ug.group_id AND ug.user_id=3 WHERE u.user_id=3 AND g.group_single_user=0 AND g.group_count_enable=1 AND g.group_moderator<>3

Line : 594
File : functions_post.php
beim registrieren neuer user:
Error geting users post stat

DEBUG MODE

SQL Error : 1054 Unknown column 'g.group_id' in 'on clause'

SELECT ug.user_id, g.group_id as g_id, g.group_name , u.user_posts, g.group_count FROM phpbb_geogroups g, phpbb_geousers u LEFT JOIN phpbb_geouser_group ug ON g.group_id=ug.group_id AND ug.user_id=298 WHERE u.user_id=298 AND ug.user_id is NULL AND g.group_count=0 AND g.group_single_user=0 AND g.group_moderator<>298

Line : 904
File : usercp_register.php
wer kann mir bitte helfen, folgenden code mysql 5 kompatibel zu machen? ich weiß leider einfach zu wenig übr mysql als dass ich das alleine schaffen würde...

funktions_post.php

Code: Alles auswählen

$sql = "SELECT ug.user_id, g.group_id as g_id, u.user_posts, g.group_count, g.group_count_max FROM " . GROUPS_TABLE . " g, ".USERS_TABLE." u
                LEFT JOIN ". USER_GROUP_TABLE." ug ON g.group_id=ug.group_id AND ug.user_id=$user_id
                WHERE u.user_id=$user_id
                AND g.group_single_user=0
                AND g.group_count_enable=1
                AND g.group_moderator<>$user_id";

usercp_register.php

Code: Alles auswählen

$sql = "SELECT ug.user_id, g.group_id as g_id, g.group_name , u.user_posts, g.group_count FROM " . GROUPS_TABLE . " g, ".USERS_TABLE." u
      LEFT JOIN ". USER_GROUP_TABLE." ug ON g.group_id=ug.group_id AND ug.user_id=$user_id
      WHERE u.user_id=$user_id
         AND ug.user_id is NULL
         AND g.group_count=0
         AND g.group_single_user=0
         AND g.group_moderator<>$user_id";

außerdem bekommen neue user keine aktivierungsmail mehr! hängt das mit obigem "problem" zusammen? und läuft es nach der änderung wieder automatisch?

ich wäre wirklich dankbar, wenn sich jemand die zeit nehmen würde, mir hiermit zu helfen...

schon mal ein großes danke für eure mühen!


gruß, vanessa.
Wo Herz ist, da ist auch Glück!
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Um dieses MySQL5 - Feature zu umgehen, musst Du alle Kommata, die zwischen den Tabellennamen vor LEFT JOIN stehen gegen INNER JOIN austauschen.
Das Problem besteht nur bei JOIN ... ON.

Bsp.:

geht nicht:

Code: Alles auswählen

SELECT * FROM phpbb_users u, phpbb_groups g LEFT JOIN phpbb_posts p ON p.poster_id = u.user_id; 
geht:

Code: Alles auswählen

SELECT * FROM phpbb_users u INNER JOIN  phpbb_groups g LEFT JOIN phpbb_posts p ON p.poster_id = u.user_id;
Siehe auch hier --> Klick


P.S.: Dieser Code ergibt natürlich kein sinnvolles Ergebnis.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Vanessa
Mitglied
Beiträge: 18
Registriert: 15.02.2003 14:12
Wohnort: Bergstrasse
Kontaktdaten:

Beitrag von Vanessa »

nach dem beispiel hab ich auhc versucht mich zu orientieren, aber ich verstehe das leider nicht.

was heißt "kein sinnvolles ergebnis"?

ich brauch eine funktionierende lösung....
Zuletzt geändert von Vanessa am 24.02.2007 15:47, insgesamt 1-mal geändert.
Wo Herz ist, da ist auch Glück!
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

MEIN CODE, den ich hier als Beispiel gepostet habe, bringt kein sinnvolles Ergebnis.

Natürlich brauchst Du eine funktionierende Lösung.... Was denn sonst?
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Vanessa
Mitglied
Beiträge: 18
Registriert: 15.02.2003 14:12
Wohnort: Bergstrasse
Kontaktdaten:

Beitrag von Vanessa »

und genau darum habe ich gebeten... ein beispiel bringt mir leider nicht viel. hab schon versucht das verlinkte beispiel mit meinem code zu vergleichen und mich daran zu orientieren, leider krieg ichs nicht hin :-?
Wo Herz ist, da ist auch Glück!
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Okay, eine Änderung baue ich Dir vor... den Rest musst Du dann mal selbst probieren.

finde in usercp_register.php:

Code: Alles auswählen

$sql = "SELECT ug.user_id, g.group_id as g_id, g.group_name , u.user_posts, g.group_count FROM " . GROUPS_TABLE . " g, ".USERS_TABLE." u
      LEFT JOIN ". USER_GROUP_TABLE." ug ON g.group_id=ug.group_id AND ug.user_id=$user_id
      WHERE u.user_id=$user_id
         AND ug.user_id is NULL
         AND g.group_count=0
         AND g.group_single_user=0
         AND g.group_moderator<>$user_id";
tausche aus gegen:

Code: Alles auswählen

$sql = "SELECT ug.user_id, g.group_id as g_id, g.group_name , u.user_posts, g.group_count FROM " . GROUPS_TABLE . " g INNER JOIN ".USERS_TABLE." u
      LEFT JOIN ". USER_GROUP_TABLE." ug ON g.group_id=ug.group_id AND ug.user_id=$user_id
      WHERE u.user_id=$user_id
         AND ug.user_id is NULL
         AND g.group_count=0
         AND g.group_single_user=0
         AND g.group_moderator<>$user_id";
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Vanessa
Mitglied
Beiträge: 18
Registriert: 15.02.2003 14:12
Wohnort: Bergstrasse
Kontaktdaten:

Beitrag von Vanessa »

hm. ok, danke. dein code sieht einfacher aus als dieser hier:

http://www.phpbb.de/viewtopic.php?p=678546#678546

ich mit dem beispiel hatte ich das versucht...



melde mich später um zu berichten obs funktioniert hat :wink:
Wo Herz ist, da ist auch Glück!
Vanessa
Mitglied
Beiträge: 18
Registriert: 15.02.2003 14:12
Wohnort: Bergstrasse
Kontaktdaten:

Beitrag von Vanessa »

miriam, ich danke dir!

ich hab mir dein und das andere beispiel nochmal angesehen... das andere war viel komplizierter, irgendwie verschachtelt... kein wunder dass ich es nicht verstanden habe... :roll: :wink:
Wo Herz ist, da ist auch Glück!
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Na bitte.... Wieder was erledigt. :wink:
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Antworten

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