The following files exists in this folder. Click to view.
database.php66 lines UTF-8 Unix (LF) 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
<?php
# Fil som sköter anslutning till databas, samt metoder för att komma åt datan på ett enklare sätt.
class DatabaseConnection
{
# Ansluter till databasen.
public static $host = "server1.serverdrift.com";
public static $user = "Intentionally removed by CSource";
public static $pwd = "Intentionally removed by CSource";
public static $db = "als070926os_bankdatabase";
public static $options = array(
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'",
PDO::ATTR_ERRMODE,
PDO::ERRMODE_EXCEPTION,
PDO::ATTR_EMULATE_PREPARES,
false
);
private $pdo;
public function __construct()
{
# Här etablerar vi anslutningen när vi skapar en ny instans av DatabaseConnection.
$host = self::$host;
$db = self::$db;
$dsn = "mysql:host=$host;dbname=$db";
try {
$this->pdo = new PDO($dsn, self::$user, self::$pwd, self::$options);
} catch (Exception $e) {
die("<p>Could not connect to the database:<br/>{$e}</p>");
}
}
private function execute($sql, $params = null): PDOStatement
# Privat funktion som används av query och queryAll. Exekverar en SQL-sats.
{
//echo "<p>{$sql}</p>";
$stm = $this->pdo->prepare($sql);
if (isset($params))
$stm->execute($params);
else
$stm->execute();
return $stm;
}
public function query($sql, $params = null): mixed
# Gör en query och kör fetch.
{
return $this->execute($sql, $params)->fetch(PDO::FETCH_ASSOC);
}
public function queryAll($sql, $params = null): array
# Gör en query och kör fetchAll.
{
return $this->execute($sql, $params)->fetchAll(PDO::FETCH_ASSOC);
}
public function getLastId(): bool|string
# Ger den sista PK-id som skapades på databasen.
{
return $this->pdo->lastInsertId();
}
}
$db = new DatabaseConnection(); # Etablerar en anslutning till databasen.
# Detta ser även till att alla filer som kör require på denna fil skapar en databasanslutning.
?>