Hallo.
Fortsetzung von Komplettes Projekt in OOP.
Ich rufe hiermit den großen Dedlfix und Co. auf, mich weiterhin zu unterstützen ;).
Ich hatte private Probleme die letzten Tage und konnte mich deshalb nicht mehr darum kümmern.
Hier ein erster Anlauf aber ich hab direkt Probleme mit der DB-Klasse:
class db{
private static $instance;
public static $db_host;
public static $db_user;
public static $db_pw;
public static $db_name;
public static $db_connection;
# Konstruktor - private - kann nicht aufgerufen werden
private function __construct(){}
# Singleton
public static function db_singleton()
{
if (!isset(self::$instance)) {
$c = __CLASS__;
self::$instance = new $c;
}
return self::$instance;
}
# Datenbankwerte setzen
public function db_set_vars($host,$name,$pw,$dbname){
$db_host=$host;
$db_user=$user;
$db_pw=$pw;
$db_name=$dbname;
}
# Zur Datenbank verbinden
public function db_connect()
{
$db_connection = new MySQLi($db_host,$db_user,$db_pw,$db_name);
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
} else {
echo "alles korrekt";
}
}
# Query ausführen
public function db_query($query){
$db_connection->query($query);
}
}
db::db_set_vars('localhost','root','philz','allethemen');
db::db_connect();
$user="name";
$pw="pw";
$sql="INSERT INTO users(user,pw) VALUES('".$user."','".$pw."')";
db::db_query($sql);
Fehler:
alles korrekt
Fatal error: Call to a member function query() on a non-object in C:\xampp\htdocs\_next\allethemen\classes\class.db.php on line 52
Line: 52 $db_connection->query($query);
Was ist denn daran falsch? Warum ist es kein Objekt, ich habe es doch oben als Objekt instanziert:
$db_connection = new MySQLi($db_host,$db_user,$db_pw,$db_name);
und er gibt auch "alles korrekt" aus.
Ich komm nicht weiter.
Lg, Chris