PHP7 Datenbankzugriffsproblem nur in Funktionen

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

  • draupnir
    antwortet
    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

    Einen Kommentar schreiben:


  • h3ll
    antwortet
    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.

    Einen Kommentar schreiben:


  • draupnir
    hat ein Thema erstellt PHP7 Datenbankzugriffsproblem nur in Funktionen.

    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
Lädt...
X