ponepaste/includes/DatabaseHandle.class.php

45 lines
1.2 KiB
PHP
Raw Normal View History

<?php
2021-07-26 17:42:43 -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);
}
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
public function querySelectOne(string $query, array $params = null) : array | null {
$stmt = $this->query($query, $params);
if ($row = $stmt->fetch()) {
return $row;
}
return null;
}
public function queryInsert(string $query, array $params = null) : int {
$this->query($query, $params);
return (int) $this->conn->lastInsertId();
}
}