[PHP] Unerwartetes Überschreiben von Variablen

  • PHP

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Goldwing Studios.

    [PHP] Unerwartetes Überschreiben von Variablen

    Hallo,

    ich arbeite mit Netbeans und Debugge gerade ein Projekt als mir auffällt, dass eine Variable (eigentlich als Array deklariert) den Wert eines Strings erhält(siehe Deklaration unten).

    Hier meine abgespeckte Funktion (der Rest ist für das Problem nicht erwähnenswert, da hier der Fehler schon auftritt):

    PHP-Quellcode

    1. public function load_data($param1, $param2) {
    2. $sql_ = "SELECT * FROM table";
    3. $values = array($param1, $param2);
    4. }


    Mehr Infos kann ich dazu leider nicht geben, da ich selbst keine habe :D
    Entweder das kommt von Netbeans oder PHP, kann es aber nicht überprüfen da die Debug-Session und der Fast-CGI-Prozess danach ohne einen Fehler abraucht.

    Habe die Frage auch schon bei Stackoverflow gestellt, aber da hat niemand bock drauf :D
    Klick

    Jemand eine Idee?

    PHP-Quellcode

    1. $data = $tm->load_data('test123', $_SESSION['username']);


    der wert in der Session-Variable ist eine Mail-Adresse und diese wird auch übergeben bzw. ist in der load_data-Funktion verfügbar.

    Das ist der Funktionsaufruf, und überschrieben wird in meinem Code-Beispiel $sql_ mit $values, sodass in beiden der Wert von $values drinsteht.
    @windowsfan vermutlich solltest du dann auch die $sql_ Variable richtig schreiben (Unterstrich am Ende).

    dass eine Variable (eigentlich als Array deklariert) den Wert eines Strings erhält(siehe Deklaration unten).

    Joa, is ja in Ordnung. Deine Variable $values ist als Array Deklariert und enthält 2 Elemente (an Index 0 und Index 1, da weder ein numerischer noch ein assoziativer Schlüssel explizit angegeben wurde).

    Mehr Infos kann ich dazu leider nicht geben, da ich selbst keine habe :D

    Ja is es nun dein Code oder nicht? Weiß garnich was das gegrinse soll 8|

    Mach halt mal bitte error_reporting auf E_ALL oder E_STRICT (error_reporting(E_STRICT);) und setze via ini_set auch display_errors auf 1/true (ini_set('display_errors', 1);).
    Ist deine o.g. Funktion load_data(string $string1, string $string2){} eine Klassenmethode? Falls nicht, hat die Sichtbarkeit public hier nix zu suchen.

    Link :thumbup:
    Hello World
    jojo, hab mein Problem behoben ;)

    es hatte nichts mit dieser Funktion zu tun, mein Fast-Cgi-Prozess war schon bei vorhergehenden Aufgaben am straucheln und dann ist bei der gegebenen Funktion das Fass übergelaufen.

    Danke trotzdem für eure Hilfeversuche ;)