oha. Ich dachte $db wäre ne globale Variable. Ok, werde es gleich versuchen ...
Update. Es klappt. Danke für die schnelle Hilfe.
– draupnir.
PHP7 Datenbankzugriffsproblem nur in Funktionen
Einklappen
X
-
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
aufPHP-Code:function test()
erweitern und die Funktion mitPHP-Code:function test(mysqli $db)
aufrufen.PHP-Code:test($db);
Einen Kommentar schreiben:
-
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.
Liefert bei mir "1. Verbindung ok" und "2. Verbindung kaputt".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();
Was muss ich tun oder schreiben, damit es auch innerhalb einer Funktion funktioniert?
– draupnir
Einen Kommentar schreiben: