Bij wijze van test probeer ik eerst te connecten met alle juiste verbindingsconstanten. Ik krijg dan de melding 'test executed'. Daarna probeer ik het nogmaals met een fout wachtwoord. Ik krijg nu een leeg scherm. De funcie test() voert hij dus niet meer uit, wat de bedoeling is, maar ik hoopte de melding 'Could not connect to database' te krijgen.
Iemand een idee ?
<?php
ini_set('error_reporting', E_ALL & E_STRICT);
ini_set('display_errors', true);
final class CoreDatabase
{
private static $dbInstance;
private $dbHandler;
public static function singleton()
{
if (!self::$dbInstance)
{
self::$dbInstance = new CoreDatabase();
}
return self::dbInstance;
}
private function __construct()
{
$this->connect();
$this->test();
}
private function connect()
{
$this->dbHandler = new mysqli(CORE_DB_HOST, CORE_DB_USER, CORE_DB_PASS, CORE_DB_NAME);
if(mysqli_connect_errno())
{
trigger_error('Could not connect to database', E_USER_ERROR);
}
}
private function test()
{
echo 'test executed';
}
}
define('CORE_DB_HOST', 'localhost');
define('CORE_DB_USER', 'mysqluser');
define('CORE_DB_PASS', 'mysqlpass');
define('CORE_DB_NAME', 'mysqldatabase');
$database = CoreDatabase::singleton();
?>