mirror of
https://github.com/sctn4elk/CustomerRewardsRESTAPI.git
synced 2025-01-10 04:44:30 -06:00
88 lines
2.5 KiB
PHP
88 lines
2.5 KiB
PHP
|
<?php
|
||
|
|
||
|
/*
|
||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Scripting/PHPClass.php to edit this template
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* Description of Database
|
||
|
*
|
||
|
* @author SCTN4
|
||
|
*/
|
||
|
class Database {
|
||
|
protected $connection = null;
|
||
|
public function __construct()
|
||
|
{
|
||
|
try {
|
||
|
$this->connection = new mysqli(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_DATABASE_NAME);
|
||
|
|
||
|
if ( mysqli_connect_errno()) {
|
||
|
throw new Exception("Could not connect to database.");
|
||
|
}
|
||
|
} catch (Exception $e) {
|
||
|
throw new Exception($e->getMessage());
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public function processQuery($query = "", $params = [])
|
||
|
{
|
||
|
try {
|
||
|
$stmt = $this->executeQuery( $query, $params );
|
||
|
$result = $stmt->get_result()->fetch_all(MYSQLI_ASSOC);
|
||
|
$stmt->close();
|
||
|
return $result;
|
||
|
} catch(Exception $e) {
|
||
|
throw New Exception( $e->getMessage() );
|
||
|
}
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
private function executeQuery($query = "" , $params = [])
|
||
|
{
|
||
|
try {
|
||
|
$stmt = $this->connection->prepare( $query );
|
||
|
if($stmt === false) {
|
||
|
throw New Exception("Unable to do prepared statement: " . $query);
|
||
|
}
|
||
|
if( $params ) {
|
||
|
$stmt->bind_param($params[0], $params[1]);
|
||
|
}
|
||
|
$stmt->execute();
|
||
|
return $stmt;
|
||
|
} catch(Exception $e) {
|
||
|
throw New Exception( $e->getMessage());
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public function processStatement($query = "", $params = [])
|
||
|
{
|
||
|
try {
|
||
|
$stmt = $this->executeStatement( $query, $params );
|
||
|
$result = $this->connection->affected_rows;
|
||
|
$stmt->close();
|
||
|
return $result;
|
||
|
} catch(Exception $e) {
|
||
|
throw New Exception( $e->getMessage() );
|
||
|
}
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
private function executeStatement($query = "", $params = [])
|
||
|
{
|
||
|
try {
|
||
|
$stmt = $this->connection->prepare( $query );
|
||
|
if($stmt === false) {
|
||
|
throw New Exception("Unable to do prepared statement: " . $query);
|
||
|
}
|
||
|
if( $params ) {
|
||
|
$stmt->bind_param(str_repeat('s', count($params)), ...$params);
|
||
|
}
|
||
|
$stmt->execute();
|
||
|
return $stmt;
|
||
|
} catch(Exception $e) {
|
||
|
throw New Exception( $e->getMessage() );
|
||
|
}
|
||
|
}
|
||
|
}
|