Hi,
ich habs mal geändert, klappt aber immernoch nicht:
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 static function db_set_vars($host,$name,$pw,$dbname){
$db_host=$host;
$db_user=$user;
$db_pw=$pw;
$db_name=$dbname;
}
# Zur Datenbank verbinden
public static 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 static function db_query($query){
$db_connection->query($query);
}
$db=db::db_singleton();
$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);
Ausgabe ist immernoch:
alles korrekt
Fatal error: Call to a member function query() on a non-object in
Muss ich die db_connect Funktion irgendwie in die Singleton-Fkt. einbeziehen?
lg,
chris