2021-07-17 18:17:29 -04:00
|
|
|
<?php
|
2021-07-26 17:42:43 -04:00
|
|
|
|
2021-07-17 18:17:29 -04:00
|
|
|
class DatabaseHandle {
|
|
|
|
private PDO $conn;
|
|
|
|
|
|
|
|
public function __construct(string $conString, string $username, string $password) {
|
|
|
|
$this->conn = new PDO($conString, $username, $password, [
|
|
|
|
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
|
|
|
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
|
|
|
|
PDO::ATTR_EMULATE_PREPARES => false
|
|
|
|
]);
|
|
|
|
}
|
|
|
|
|
2021-07-20 12:15:41 -04:00
|
|
|
public function prepare(string $query) : PDOStatement {
|
|
|
|
return $this->conn->prepare($query);
|
|
|
|
}
|
|
|
|
|
2021-07-17 18:17:29 -04:00
|
|
|
public function query(string $query, array $params = null) : PDOStatement {
|
|
|
|
if (empty($params)) {
|
|
|
|
return $this->conn->query($query);
|
|
|
|
}
|
|
|
|
|
|
|
|
$stmt = $this->conn->prepare($query);
|
|
|
|
$stmt->execute($params);
|
|
|
|
|
|
|
|
return $stmt;
|
|
|
|
}
|
2021-08-05 08:18:32 -04:00
|
|
|
|
2021-08-17 13:09:08 -04:00
|
|
|
public function querySelectOne(string $query, array $params = null, int $fetchMode = PDO::FETCH_ASSOC) : array|null {
|
2021-08-05 08:18:32 -04:00
|
|
|
$stmt = $this->query($query, $params);
|
|
|
|
|
2021-08-17 13:09:08 -04:00
|
|
|
if ($row = $stmt->fetch($fetchMode)) {
|
2021-08-05 08:18:32 -04:00
|
|
|
return $row;
|
|
|
|
}
|
|
|
|
|
|
|
|
return null;
|
|
|
|
}
|
2021-07-17 18:17:29 -04:00
|
|
|
}
|