Seite 1 von 1

sql_close()

Verfasst: 23.08.2006 17:54
von pandorra
nabend
Fatal error: Call to undefined function: sql_close() in /homepages/4/d161055844/htdocs/board/includes/page_tail.php on line 77
die meldung kommt nur bei ins phpbb integrierten seiten, das forum läuft wie eine eins.
das script selbst schließt nirgends die verbindung und auch sonst ist mir nichts im script bekannt, was den fehler verursachen könnte.

hat jemand eine idee?

Verfasst: 24.08.2006 08:48
von pandorra
im IE kommt noch eine zusätzliche fehlermeldung
Fatal error: Call to undefined function: sql_close() in /homepages/4/d161055844/htdocs/board/includes/page_tail.php on line 77

Warning: (Registered shutdown functions) Unable to call sql::close() - function does not exist in Unknown on line 0
nicht zufällig jmd hier, der mir sagen könnte, wie ich das gefixed bekomme? ;>

Verfasst: 24.08.2006 10:35
von mad-manne
pandorra hat geschrieben:nicht zufällig jmd hier, der mir sagen könnte, wie ich das gefixed bekomme? ;>
Nunja ... *Glaskugel putz*,
evtl. wäre es hilfreich, wenn du etwas mehr Hintergrundinfos anbieten würdest :roll:

Verlinke doch mal den Quellcode einer "integrierten Seite".

Gruss,
Manne.

Verfasst: 24.08.2006 12:11
von pandorra

Verfasst: 25.08.2006 08:28
von pandorra
jetzt vlt jemand ne idee? :wink:

Verfasst: 25.08.2006 12:53
von mad-manne
Hi,
ich habe mir das jetzt zwar schonmal runtergeladen aber nur ganz flüchtig drübergeschaut.

Kann es wohl sein, dass du eine eigene sql-class nutzt anstatt die eingebaute von phpBB zu nutzen? Dann solltest du evtl. die eigene sql-class anders instantiieren als mit $db, da diese Variable schon als Handle von phpBB in Beschlag ist.

Wenn's das nicht ist ... ich schau mir das im Laufe des Tages nochmal genauer an.

So long,
Manne.

Verfasst: 25.08.2006 15:10
von pandorra
ok, ich habs, lag tatsächlich an den classes

hab jetzt den close befehl vom phpbb in die sql.class.php von meinem script kopiert und es geht ohne fehler

kann es sein, dass man nicht zwei classen hintereinander laden darf/sollte?
es wird ja erst die class vom phpbb geladen und danach meine eigene, wenn das phpbb aber wie im footer verlangt die verbindung schließen will findet es den befehl nicht, weil in der zuletzt geladenen class, nämlich meiner, der befehl nicht existiert. bzw er heisst eben anders...

Verfasst: 25.08.2006 15:38
von Jensemann
Du kannst sogar 200 Klassen nacheinander laden, das ist nicht das Problem. Manne hat dir eigentlich alles gesagt was du beachten musst, ich versuche es dir aber nochmals anschaulicher zu erklären:

Auf Klassen greifen wir zu in dem wir ein Objekt aus ihnen machen, dieses bekommt einen Namen, im Falle der phpBB SQL-Klasse ist der Name $db. Hast du jetzt eine weitere Klasse, dessen Objekt du auch den Namen $db gibst, ist ein Zugriff auf das alte Objekt nicht mehr möglich - es wurde ja überschrieben mit dem Objekt deiner neuen Klasse.

Lösung: entweder erweiterst du deine Klasse um sql_close(), wie du gemacht hast. Alternativ, was eigentlich viel saubrere wäre, du gibst dem Objekt deiner Klasse einen anderen Namen, z.B. $db_2.