Frage zu Funktionen

illuminatus26

Erfahrenes Mitglied
Hallo zusammen....

Habe da wieder mal ein kleines Problem.
Ich habe mir eine Funktion geschrieben, die den Aufbau zur DB übernimmt.
Nun habe ich eine (bzw. mehrere) weitere, die dann das Ergebniss auswerten.

Jetzt rufe ich in meinem Skript die Funktionen so auf:

datenbankverbindung ($sql);
zum test habe ich hier mal var_dump($result) eingegeben.
Ergebnis: (Notice: Undefined variable: result in ... on line 19
NULL))
abfrage_auswerten();

Wie erreiche ich nun, dass $result in dem Skript verfügbar wird, das die Funktion aufgerufen hat, damit ich es an die Fucktion abfrage_auswerten weitergeben kann ?
 
Kannst du die Funktionen hier mal reinstellen? Ohne Code ists immer schwer etwas herauszufinden.
 
Das ist so nicht richtig....

Also die Variable $result, gibt es in der Funktion datenbankverbindung().
Um noch mal den Aufbau meines Skriptes zu verdeutlichen.

test.php

PHP:
<?php
include (dantenbankverbindung.php);
include (abfrage_auswerten.php)

datenbankverbindung($sql); //<-- hier wird $result definiert
abfrage_auswerten($result); //<-- hier wird die Abfrage dann z.B. in $name gespeichert. Hier kommt $result aber nicht an.

echo $name; 

?>

Das ist ein ungefährer Aufbau.
Habe es mit return $result; probiert, aber leider kommt immer noch die Fehlermeldung......

Notice: Undefined variable: result in ... on line 20
 
Variablen die es innerhalb von Funktionen gibt existieren auch wirklich nur innerhalb der Funktion.
Wenn Du einen Wert mit return zurueckgibst aber den Code so laesst wie hier gepostet wird der Wert in's Nichts "returnt".
Das folgende nimmt den Rueckgabewert entgegen sodass er dann weiterverarbeitet werden kann.
PHP:
$result=datenbankverbindung($sql);
Matthias hat also schon recht, dass es die Variable $result nicht gibt, denn fuer das Script ist sie nicht existent. Lediglich fuer die Funktion wo sie ja gesetzt wird gibt es diese Variable, wodurch auch Du, in einem gewissen Rahmen, Recht hast.
 
Also die Variable $result, gibt es in der Funktion datenbankverbindung().
Um noch mal den Aufbau meines Skriptes zu verdeutlichen.
Die Variablennamen können gleich sein, da Variablen innerhalb einer Funktion lokal
sind und nicht im Konflikt mit den globalen Variablen stehen.
Und deshalb hat "$result" außerhalb der Funktion kein Variablen Wert, da kein Wert
übergeben wurde.
 
Es funktioniert jetzt.......
Naja das muss man auch erstmal wissen.......
Zum Glück sind ja hier kompetente Leute.......
Also vielen Dank und bis zum nächsten Mal.
:-) :-) :-)
 
Zurück