63 lines
1.7 KiB
PHP
63 lines
1.7 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Created by PhpStorm.
|
|
* User: leanderschmedemann
|
|
* Date: 02/03/2017
|
|
* Time: 09:59
|
|
*/
|
|
class Database
|
|
{
|
|
private $db;
|
|
|
|
function __construct() {
|
|
$this->db = pg_connect("host=".DATABASE_URL." dbname=".DATABASE_NAME." user=".DATABASE_USER." password=".DATABASE_PASSWORD);
|
|
}
|
|
|
|
function query($sql, $params = null) {
|
|
$result = null;
|
|
if($params) {
|
|
$result = pg_query_params($this->db, $sql, $params);
|
|
} else {
|
|
$result = pg_query($this->db, $sql);
|
|
}
|
|
if(!$result) {
|
|
$error = 10101;
|
|
}
|
|
if(!$error) {
|
|
$data = pg_fetch_all($result);
|
|
} else {
|
|
$data = null;
|
|
}
|
|
$this->create_response($data, $error);
|
|
}
|
|
|
|
function create_response($data, $error) {
|
|
echo 'A';
|
|
$status_message = Database::create_status_code($error);
|
|
echo 'B';
|
|
$meta = json_encode(array('status'=>$error, 'message'=>$status_message));
|
|
echo 'C';
|
|
$response_element_json = json_encode(array('meta'=>$meta, 'data'=>$data));
|
|
echo 'D';
|
|
}
|
|
|
|
function create_status_code($error) {
|
|
switch ($error) {
|
|
case 0:
|
|
return 'Success';
|
|
case 10101:
|
|
return 'SQL statement did not give a result.';
|
|
case 11101:
|
|
return 'User name does not match rules. User name must be 6 to 20 characters and consist of English
|
|
letters and numbers only.';
|
|
case 11102:
|
|
return 'User name already exists. Please pick a different name.';
|
|
default:
|
|
return 'An unknown error occurred.';
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
?>
|