Grüße gute Leute,Aufruf der statischen Funktion gibt NULL zurück, wenn das Objekt nicht instanziert ist? PHP OOP
Ich bin mit einigen Problemen mit OOP vor kurzem ausgeführt. Zunächst möchte ich CRUD Db Klasse von Grund auf neu erstellen. Dies ist ein Code:
class Database{
public static $link;
public $message;
public function __construct() {
try {
self::$link = mysqli_connect(HOST, USER, PASS, DB);
if (!self::$link) {
echo self::$link->error;
}
} catch (Exception $e) {
die(" Failed connecting to DB") ;
}
}
public static function query($SQL){
return self::$link->query($SQL);
}
public static function select($table, array $columns){
$columns=implode(",",$columns);
$result=self::query("SELECT $columns FROM $table");
return self::$link->fetch($result);
}
}
Also das Problem ist folgendes:
Wenn ich meine statische Funktion wählen wie folgt aufrufen:
Database::select('users', array('username'=>'user'));
Es gibt: Fatal error: Rufen Sie an ein Mitglied Funktion Query() auf einem Nicht-Objekt in .. Und wenn ich Verbindung wie folgt debuggen: var_dump(Database::$link)
gibt NULL Aber wenn ich "$ db = new Database();" über dieser Linie funktioniert es?
Kann mir jemand sagen, was ich falsch mache?
Danke!
Ich habe nicht bemerkt, dass: (HOST, USER, PASS, DB) sind Konstanten, die aus einer anderen Datei enthalten sind. – fugitive