Rolf B: PHP: Variablen nehmen falsche Werte an

Beitrag lesen

Hallo Yadgar,

hatte ich Dir schon mal das PHP Handbuch nahegelegt?

global new mysqli->connect(...)

So keinesfalls, aus zwei Gründen. Erstens legt man nicht bei der Definition fest, dass etwas global sein soll, sondern da, wo es verwendet werden soll. Und zweitens verwendest Du entweder mysqli_connect(...) oder new mysqli(...). Eine Methode connect auf dem mysqli-Objekt gibt es nicht.

Mit "global" sagt man PHP, dass eine bestimmte Variable nicht im lokalen Scope gelten soll, sondern aus dem globalen Scope verwendet werden soll.

// Erzeuge die Variable $db. Da dies außerhalb einer Funktion
// oder Klasse geschieht, ist die Variable global.
$db = new mysqli(...);

function do_something() 
{
   // Das schlägt fehl. Per Default nimmt PHP an, dass Variablen
   // nicht global sind.
   $db->query(...);
}

function use_something() 
{
   // So geht's. PHP sucht $db jetzt nicht mehr im Geltungs-
   // bereich der Funktion, sondern im globalen Bereich.
   global $db;
   $db->query(...);
}

Rolf

--
sumpsi - posui - clusi