Sven: Problem mit einer Funktion

Hallo,

hab da eine ganz allgemeine Frage... wenn ich in einer Funktion eine Abfrage auf eine MySQL-DB starte und die Inhalte in Variablen speicher... kann ich dann außerhalb der Funktion auf diese Variablen zugreifen?

Bei mir funktioniert es nämlich grad nicht... obwohl er meldet, dass die Abfrage auf die DB einwandfrei funktioniert hat.

Gruß
Sven

  1. Mahlzeit,

    hab da eine ganz allgemeine Frage... wenn ich in einer Funktion eine Abfrage auf eine MySQL-DB starte und die Inhalte in Variablen speicher... kann ich dann außerhalb der Funktion auf diese Variablen zugreifen?

    Nicht ohne weiteres. Jedenfalls nicht, wenn es in dieser Funktion definierte lokale Variablen sind.

    Bei mir funktioniert es nämlich grad nicht... obwohl er meldet, dass die Abfrage auf die DB einwandfrei funktioniert hat.

    Wieso gibst Du die Ergebnisse der Abfrage nicht als Rückgabewert der Funktion zurück? Bzw. hast du schonmal von OOP gehört? Wäre in so einem Fall auch überlegenswert ...

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
  2. Hi,

    hab da eine ganz allgemeine Frage... wenn ich in einer Funktion eine Abfrage auf eine MySQL-DB starte und die Inhalte in Variablen speicher... kann ich dann außerhalb der Funktion auf diese Variablen zugreifen?

    Generell: Nein. Funktionen haben ihren eigenen Variablen-Gueltigkeitsbereich.

    Eine Ausnahme bilden da zum einen globale Variablen, und zum anderen per Referenz uebergebene Funktionsparameter.
    Erstere sind generell mit Vorsicht zu geniessen, da sie zu schludrigem Programmierstil verleiten, und letztere benoetigt man auch eher in Spezialfaellen.
    Fuer dein Vorhaben waere er vermutlich am guenstigsten, die Funktion einen Rueckgabewert zurueckliefern zu lassen, mit dem an der aufrufenden Stelle weitergearbeitet werden kann. Eine Funktion kann zwar nur einen Rueckgabe"wert" zurueckgeben - aber dieser kann durchaus auch bspw. ein Array sein.

    MfG ChrisB