Не получается у меня разобраться....
Расскажу подробней что и как...
Есть класс Database, в нем Singleton pattern подключения к Mysql:
require_once 'Db_log.php';
class Database
{
private static $instance;
private $MySQLi;
private function __construct(array $dbOptions)
{
$this->MySQLi = @ new mysqli($dbOptions['db_host'],
$dbOptions['db_user'],
$dbOptions['db_pass'],
$dbOptions['db_name']
);
if(mysqli_connect_errno())
{
throw new Exception('Problem med koppling till Databas');
}
$this->MySQLi->set_charset("utf8");
}
public static function getInstance(array $dbOptions)
{
if(self::$instance instanceof self)
{
return false;
}
self::$instance = new self($dbOptions);
}
public static function getMySQLiObject()
{
return self::$instance->MySQLi;
}
public static function query($q)
{
return self::$instance->MySQLi->query($q);
}
public static function esc($str)
{
return self::$instance->MySQLi->real_escape_string(htmlspecialchars($str));
}
}
Database::getInstance($dbOptions);
Другой класс выполняет операции с Mysql
class User
{
public function readUser()
{
.........
$query = Database::query("SELECT `mail` FROM `userdata` WHERE `username`='$log_d' AND `password`='$p_md5'");
$base = $query->fetch_object();
Как из этого всего, чтобы был singleton pattern сделать чтобы было с prepared statement?
Если можете подскажите, но не кидайте ссылки... начитался но так и не разобрался... :huh: