Hi,
ich habe eine große Klasse die ca. so aufgebaut ist:
|
PHP Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
class Database{
protected $con;
public function __construct($host, $user, $pass, $dbnm){
$this->con = mysqli_connect($host, $user, ...);
}
public function __invoke($sql){
mysqli_query($this->con, $sql);
}
public function __destruct(){
mysqli_close($this->con);
}
}
|
Wenn ich davon eine Instanz erzeuge (connect) und auch wenn ich sie als Funktion aufrufe (__invoke(query)) funktioniert alles gut, die verbindung wird hergestellt und ich kann ein Query an den Server abschicken. Aber wenn dann der Destruktor aufgerufen wird, dann kommt immer diese Warnmeldung (sie kommt auch bei mysqli_error()).
Warning: mysqli_close() [function.mysqli-close]: Couldn't fetch mysqli in C:\xampp\htdocs\dcdb\classes\Database.class.php on line 99
Warning: mysqli_error() [function.mysqli-error]: Couldn't fetch mysqli in C:\xampp\htdocs\dcdb\classes\Database.class.php on line 109
ich frage mich, warum? und wird trotz der Warnung die Verbndung zum Server geschlossen?