basi: Db-Zugriff aus einer Klasse

Hi...mal schauen, ob ich das vernünftig erklären kann...

Hab eine Klasse zum DBZugriff geschrieben, von der ich darin auch eine Instanz bilde ($db).

Jetzt will ich in einer anderen Datei darauf zugreifen - wenn ich nur global $db schreibe, erkennt er die Methoden der Klasse nicht - wenn ich die Datei include, wird der Zugriff auf die DB verwehrt.
An den Rechten kann das eigentlich nicht liegen, denn wenn ich in der anderen Datei direkt die Connection herstelle (also ohne die DBZugriffs-Klasse), dann macht er das ohne Probleme.

Vielleicht hab ich ja was allgemeines übersehen und irgendwer kann mir helfen?

Gruß, basi

  1. Hi Basi,

    Hi...mal schauen, ob ich das vernünftig erklären kann...

    net so ganz 100%, hab noch verständnisprobleme.

    Hab eine Klasse zum DBZugriff geschrieben, von der ich darin auch eine Instanz bilde ($db).

    Sollte eigentlich gehen, würde die Instanz aber in der jeweiligen Datei bilden, wo sie angewendet wird. Die Klassendatei sollte nur dei Klassendefinition bieten.

    Jetzt will ich in einer anderen Datei darauf zugreifen - wenn ich nur global $db schreibe, erkennt er die Methoden der Klasse nicht - wenn ich die Datei include, wird der Zugriff auf die DB verwehrt.

    Hm, wie verwehrt ? Du rufst die Connection Methode Deiner Klasse auf, und Username PAssword werden abgelehnt, kann eignetlich nicht nicht sein ?

    An den Rechten kann das eigentlich nicht liegen, denn wenn ich in der anderen Datei direkt die Connection herstelle (also ohne die DBZugriffs-Klasse), dann macht er das ohne Probleme.

    Hast Du mal die Klasse ausgetestet, indem Du testweise die Datewi mit der Klassen zum kompletten script mit Klassenverwendung aufwertest ?

    Gruss

    Marko

    1. Hi Marko,

      danke für die schnelle Antwort.

      Ist schon komisch, aber ich habs eben nochmal probiert,nichts geändert und jetzt funzt es auf einmal.

      Ich kann nicht sagen, wo der Fehler lag.

      Noch zur Info: Die Fehlermeldung war: "Access denied for user..."

      Wird es allgemein so gehalten, dass die Instanz nicht in der Klasse selbst gebildet wird oder kann das auch im Programm zu Fehlern führen?

      1. Hi BAsi,

        Noch zur Info: Die Fehlermeldung war: "Access denied for user..."

        hm, wahrscheinlich hast Du doch nen kleinen Fehler gemacht, nicht lang drüber nachdenken, gehört zum programmieren dazu.

        Wird es allgemein so gehalten, dass die Instanz nicht in der Klasse selbst gebildet wird oder kann das auch im Programm zu Fehlern führen?

        Grundsätzlich kannst Du die Klasse erzeugen wo Du willst, eine Klasse kann z.B. auch durchaus eine Instanz von sich selbst als Eigenschaft haben.
        Aber ich kenne es von Java halt so, dass eine Datei genau eine Klasse enthält, und diese Datei wird in die Scripts (oder auch andere Klassen) eingebunden wo ich die Klasse brauche, und dort instanziert.
        Das ist eine Frage von gutem Programmierstil. Allerdings muss ich zugeben, dass ich in PHP manchmal doch davon abweiche, für die "quick and dirty" solutions.

        Gruss

        Marko