DirektiveDesDons/BancaDati/BancaDati.php
2022-12-21 11:09:49 +01:00

69 lines
1.8 KiB
PHP

<?php
namespace BancaDati;
class BancaDati {
private $dbName = "BancaDati";
private $linkName = "localhost";
private $user = "root";
private $pw = "root";
public $pdo;
public function __construct() {
$this->linkDB();
}
private function linkDB() {
try {
$this->pdo = new \PDO("mysql:dbname=$this->dbName;host=$this->linkName"
, $this->user
, $this->pw
, array(\PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION));
} catch (\PDOException $e) {
die;
}
}
public function createUUID() {
$data = openssl_random_pseudo_bytes(16);
$data[6] = chr(ord($data[6]) & 0x0f | 0x40);
$data[8] = chr(ord($data[8]) & 0x3f | 0x80);
return vsprintf('%s%s-%s-%s-%s-%s%s%s', str_split(bin2hex($data), 4));
}
public function insert(string $table, array $values) {
$value = "";
$column = "";
foreach ($values as $col => $v) {
$value .= ":" . $v . ",";
$column .= "`" . $col . "`,";
}
$value = trim($value, ",");
$column = trim($column, ",");
$sql = "INSERT INTO $table($column) VALUES ($value);";
try {
$sth = $this->pdo->prepare($sql);
$sth->execute();
} catch (\PDOException $e) {
die;
}
}
public function update(string $table, string $id, array $values) {
$value = "";
foreach ($values as $col => $v) {
$value .= $col . "=" . $v . ",";
}
$value = trim($value, ",");
$sql = "UPDATE " . $table . " SET " . $value . " WHERE `id` = " . $id . ";";
try {
$sth = $this->pdo->prepare($sql);
$sth->execute();
} catch (\PDOException $e) {
die;
}
}
}