| 
									
										
										
										
											2020-05-23 23:47:15 +02:00
										 |  |  | <?php | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-06-08 17:52:58 +02:00
										 |  |  | /** | 
					
						
							|  |  |  |  * Class Database | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Class with all neccessary stuff for the Database connections. | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2020-05-23 23:47:15 +02:00
										 |  |  | class Database | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2020-06-04 00:15:06 +02:00
										 |  |  |     private static ?Database $instance = null; | 
					
						
							|  |  |  |     private mysqli $conn; | 
					
						
							| 
									
										
										
										
											2020-05-23 23:47:15 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-06-04 00:15:06 +02:00
										 |  |  |     private string $servername = "192.168.0.30"; | 
					
						
							|  |  |  |     private string $username = "root"; | 
					
						
							|  |  |  |     private string $password = "1qayxsw2"; | 
					
						
							| 
									
										
										
										
											2020-06-06 11:48:12 +00:00
										 |  |  |     private string $dbname = "mediacenter"; | 
					
						
							| 
									
										
										
										
											2020-05-23 23:47:15 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     // The db connection is established in the private constructor.
 | 
					
						
							|  |  |  |     private function __construct() | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         // Create connection
 | 
					
						
							|  |  |  |         $this->conn = new mysqli($this->servername, $this->username, $this->password, $this->dbname); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if ($this->conn->connect_errno) { | 
					
						
							|  |  |  |             echo "connecton failed... nr: " . $this->conn->connect_errno . " -- " . $this->conn->connect_error; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-06-08 17:52:58 +02:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * get an instance of this database class | 
					
						
							|  |  |  |      * (only possible way to retrieve an object) | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @return Database dbobject | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2020-05-23 23:47:15 +02:00
										 |  |  |     public static function getInstance() | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         if (!self::$instance) { | 
					
						
							|  |  |  |             self::$instance = new Database(); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         return self::$instance; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-06-08 17:52:58 +02:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * get a connection instance of the database | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @return mysqli mysqli instance | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2020-05-23 23:47:15 +02:00
										 |  |  |     public function getConnection() | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         return $this->conn; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2020-06-04 00:15:06 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-06-08 17:52:58 +02:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * get name of current active database | 
					
						
							|  |  |  |      * @return string name | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2020-06-04 00:15:06 +02:00
										 |  |  |     public function getDatabaseName(){ | 
					
						
							|  |  |  |         return $this->dbname; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2020-05-23 23:47:15 +02:00
										 |  |  | } |