PHP7 Datenbankzugriffsproblem nur in Funktionen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP7 Datenbankzugriffsproblem nur in Funktionen

    Hallo zusammen,
    ich bin mit PHP nicht so vertraut. Beim Umstellen einer Website von PHP5 auf PHP7 habe ich das Problem, dass ich innerhalb von Funktionen die Verbindung zur Datenbank verlieren. Hier mein sehr vereinfachtes Skript.

    PHP-Code:
    function test()
    {
        
    $query " SELECT
                                id_cat
                                FROM produkt
                                where id = 1 "
    ;
        
    $rez mysqli_query($db,$query);
        
        if (
    $rez) {echo '<p>2. Verbindung ok</p>';}
        else {echo 
    '<p>2. Verbindung kaputt</p>';}
        
    }

    // ----

    $db mysqli_connect ($server$username$password);  // new for php7

    // (1)
    $query " SELECT
                                id_cat
                                FROM produkt
                                where id = 1 "
    ;
    $rez mysqli_query($db,$query);

    if (
    $rez) {echo '<p>1. Verbindung ok</p>';}
        else {echo 
    '<p>1. Verbindung kaputt</p>';}
        
    // (2)
    $t test(); 
    Liefert bei mir "1. Verbindung ok" und "2. Verbindung kaputt".

    Was muss ich tun oder schreiben, damit es auch innerhalb einer Funktion funktioniert?

    – draupnir

  • #2
    In der Funktion test() gibts keine Variable $db. Eigentlich müsstest du Fehlermeldungen deswegen im PHP Error-Log bekommen. Wenn du einen Wert in einer Funktion benötigst, musst du ihn per Funktionsparameter übergeben.

    Als im Prinzip musst du
    PHP-Code:
    function test() 
    auf
    PHP-Code:
    function test(mysqli $db
    erweitern und die Funktion mit
    PHP-Code:
    test($db); 
    aufrufen.

    Kommentar


    • #3
      oha. Ich dachte $db wäre ne globale Variable. Ok, werde es gleich versuchen ...

      Update. Es klappt. Danke für die schnelle Hilfe.

      – draupnir.
      Zuletzt geändert von draupnir; 16.08.2021, 17:14. Grund: Update

      Kommentar


      • #4
        Handyman Bakersfield

        Love this forum. Very helpful. Visit Us

        Kommentar

        Lädt...
        X