DEV Community

Imanuel Khrisna Ananda
Imanuel Khrisna Ananda

Posted on

REST API

Imanuel Khrisna Ananda
A11.2020.13030

<?php

$file_db = "jasainaja.db";

try {
$pdo = new PDO("sqlite:$file_db");
$pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo -> setAtrribute(PDO::ATTR_EMULATE_PREPARES, false);

$sql_create = "CREATE TABLE IF NOT EXISTS 'jasainaja'(
    'id' integer NOT NULL PRIMARY KEY AUTOINCREMENT,
    'username' text NOT NULL, 
    'password' text NOT NULL,
    'created_at' datetime NOT NULL DEFAULT CURRENT_TIMESTAMP)";
$pdo -> exec($sql_create);
Enter fullscreen mode Exit fullscreen mode

} catch (PDOException $e) {
throw new PDOException($e -> getMessage(), (int)$e -> getCode());
}

header('Content-Type: application/json');

if ($_SERVER['REQUEST_METHOD'] === 'GET') {
$query = 'select * from jasainaja order by created_at desc';
$stmt = $pdo -> prepare($query);
$stmt -> execute();
$data = $stmt -> fetchAll(PDO::FETCH_ASSOC);
echo json_encode($data);
} elseif ($_SERVER['REQUEST_METHOD'] === 'POST') {
$username = $_POST['username'];
$password = $_POST['password'];
$query = "insert into jasainaja (username, password) values(?, ?)";
$stmt = $pdo -> prepare($query);
$res = $stmt -> execute([$username, $password]);
if ($res) {
$data = ['username' => $username, 'password' => $password];
echo json_encode($data);
} else {
echo json_encode(['error' =>$stmt -> errorCode()]);
}
} elseif ($_SERVER['REQUEST_METHOD'] === 'DELETE') {
$id = $_GET['id'];
$query = "delete from jasainaja where id = ?";
$stmt = $pdo -> prepare ($query);
$res = $stmt -> execute(['id']);
if ($res) {
$data = ['id' => $id];
echo json_encode($data);
} else {
echo json_encode(['error' =>$stmt -> errorCode()]);
}
}

Top comments (0)