97 lines
2.6 KiB
PHP
97 lines
2.6 KiB
PHP
<?php
|
|
|
|
class Database
|
|
{
|
|
|
|
static $instance;
|
|
private static $host;
|
|
private static $database;
|
|
private static $user;
|
|
private static $password;
|
|
|
|
public function __construct($host, $database, $user, $password)
|
|
{
|
|
self::$host = $host;
|
|
self::$database = $database;
|
|
self::$user = $user;
|
|
self::$password = $password;
|
|
}
|
|
|
|
public static function Instance()
|
|
{
|
|
if (!self::$instance) {
|
|
try {
|
|
self::$instance = new \PDO('mysql:host=' . self::$host . ';dbname=' . self::$database . ';charset=UTF8', self::$user, self::$password, array(\PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION));
|
|
} catch (\Exception $e) {
|
|
die($e->getMessage());
|
|
}
|
|
}
|
|
return self::$instance;
|
|
}
|
|
|
|
public function request($statement, $params = false)
|
|
{
|
|
try {
|
|
$db = self::Instance();
|
|
$query = $db->prepare($statement);
|
|
if ($params) {
|
|
$query->execute($params);
|
|
} else {
|
|
$query->execute();
|
|
}
|
|
} catch (\PDOException $e) {
|
|
die($e->getMessage());
|
|
}
|
|
$query->setFetchMode(\PDO::FETCH_ASSOC);
|
|
$result = $query->fetch();
|
|
$query->closeCursor();
|
|
return ($result);
|
|
}
|
|
|
|
public function requestAll($statement, $params = false)
|
|
{
|
|
try {
|
|
$db = self::Instance();
|
|
$query = $db->prepare($statement);
|
|
if ($params) {
|
|
$query->execute($params);
|
|
} else {
|
|
$query->execute();
|
|
}
|
|
} catch (\PDOException $e) {
|
|
die($e->getMessage());
|
|
}
|
|
$query->setFetchMode(\PDO::FETCH_ASSOC);
|
|
$result = $query->fetchAll();
|
|
$query->closeCursor();
|
|
return ($result);
|
|
}
|
|
|
|
public function requestPush($statement, $params = false)
|
|
{
|
|
try {
|
|
$db = self::Instance();
|
|
$query = $db->prepare($statement);
|
|
if ($params)
|
|
$query->execute($params);
|
|
else
|
|
$query->execute();
|
|
return true;
|
|
} catch (\PDOException $e) {
|
|
die($e->getMessage());
|
|
}
|
|
}
|
|
|
|
public function requestPushInsert($statement, $params)
|
|
{
|
|
try {
|
|
$db = self::Instance();
|
|
$query = $db->prepare($statement);
|
|
$query->execute($params);
|
|
return $db->lastInsertId();
|
|
} catch (\PDOException $e) {
|
|
var_dump($e);exit;
|
|
die($e->getMessage());
|
|
}
|
|
}
|
|
}
|