带有PHP和SQLITE的REST API //案例研究Android Note应用程序
#php #android #休息 #sqlite

你好!

在本教程中,我们将创建一个可以链接到Android Studio项目的数据库。我这次的案例研究是注释申请。

php

第一步是创建项目文件夹,该文件夹必须放置在HTDOCS XAMPP C:\xampp\htdocs我的文件夹中,这次我调用NoteMplate。然后创建一个PHP文件,在这里我用index.php

命名。

在index.php文件中,制作一个变量来启动数据库文件的名称,然后使用PDO,我们可以执行数据库文件的创建。为了评估错误,我们可以尝试尝试和捕捉,在尝试中,我们还将启动使用SQLITE和PHP
制作表

$file_db = "notemplate.db";

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

    //tabel akun
    $sql_create = "CREATE TABLE IF NOT EXISTS 'akun'(
        'id_akun' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
        'username' TEXT NOT NULL,
        'password' TEXT NOT NULL)";
    $pdo->exec($sql_create);

    //tabel konten
    $sql_create = "CREATE TABLE IF NOT EXISTS 'konten'(
        'id_konten' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
        'judul' TEXT NOT NULL,
        'konten' TEXT NOT NULL,
        'created_at' DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP)";
    $pdo->exec($sql_create);
}
catch(Throwable $th){
    throw new  PDOException($e->getMessage(),(int)$e->getCode());
}

在这里,我制作了2个表,帐户表和内容。每个表需要一种操作方法。

方法我在这里创建的是:
GET从服务器获取数据
POST输入新数据
DELETE删除数据

附加:当与应用程序相关时,必须使用JSON添加header('Content-Type: application/json');,但是如果关系是人类的,则可以通过。

//mehtod tabel akun
if($_SERVER['REQUEST_METHOD'] === 'GET'){
    $query = 'SELECT * FROM akun ORDER BY id_akun ASC';
    $stmt = $pdo->prepare($query);
    $stmt->execute();
    $data = $stmt->fetchAll(PDO::FETCH_ASSOC);
    echo json_encode($data);
}
else if($_SERVER['REQUEST_METHOD'] === 'POST'){
    if($_POST['username']!="" && $_POST['password']!="" ){
        $username = $_POST['username'];
        $password = $_POST['password'];
        $query = "INSERT INTO akun (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()]);
        }
    }
}
else if($_SERVER['REQUEST_METHOD'] === 'DELETE'){
    if($_GET['id_akun'] != ''){
        $id_akun = $_GET['id_akun'];
        $query = "DELETE FROM akun WHERE id_akun = ?";
        $stmt = $pdo->prepare($query);
        $res = $stmt->execute([$id_akun]);
        if($res){
            $data = ['id_akun'=>$id_akun];
            echo json_encode($data);
        }else{
            echo json_encode(['error'=>$stmt->errorCode()]);
        }
    }
}



// Method tabel konten

    if($_SERVER['REQUEST_METHOD'] === 'GET'){
        $query = 'SELECT * FROM konten ORDER BY created_at DESC';
        $stmt = $pdo->prepare($query);
        $stmt->execute();
        $data = $stmt->fetchAll(PDO::FETCH_ASSOC);
        echo json_encode($data);
    }
    else if($_SERVER['REQUEST_METHOD'] === 'POST'){
        if($_POST['konten']!="" && $_POST['konten']!="" ){
            $judul = $_POST['judul'];
            $konten = $_POST['konten'];
            $query = "INSERT INTO konten (judul, konten) VALUES (?,?)";
            $stmt = $pdo->prepare($query);
            $res = $stmt->execute([$judul, $konten]);
            if($res){
                $data = ['jodul'=>$judul, 'konten'=>$konten];
                echo json_encode($data);
            }else{
                echo json_encode(['error'=>$stmt->errorCode()]);
            }
        }
    }
    else if($_SERVER['REQUEST_METHOD'] === 'DELETE'){
        if($_GET['id_konten'] != ''){
            $id_konten = $_GET['id_konten'];
            $query = "DELETE FROM konten WHERE id_konten = ?";
            $stmt = $pdo->prepare($query);
            $res = $stmt->execute([$id_konten]);
            if($res){
                $data = ['id_konten'=>$id_konten];
                echo json_encode($data);
            }else{
                echo json_encode(['error'=>$stmt->errorCode()]);
            }
        }
    }

邮差

要操作上面的方法,我们不能使用普通的浏览器,我们需要使用 Postman 的特殊应用程序。在进入Postman之前,我们首先在XAMPP中激活Apache。

Activate Apache on Xampp

打开邮递员,然后制作一个新标签。在URL中,我们填写localhost/(folder dalam htdocs)/(nama folder php)/的默认值,如果修改端口,则还输入端口。 localhost:(port)/.../...在我的URL这里localhost/NOTEmplate/index.php

get =>选择获取在URL的左侧,然后发送。

Method GET

可以在底部看到,输出产生2个空括号,用于两个表。

应在按发送后制作数据库文件,可以在HTDOCS文件夹中看到该文件,命名也应与我们创建的index.php中的file_db变量的启动相符。

Database File

post =>选择URL左侧的邮政身体)。

Method POST

可以在底部看到结果。我们可以看到表格的整个内容。

Method GET

如果您想填写一张表,实际上可以,但是会有警告,但这并不重要,数据仍然会输入。

Method POST

Method GET

delete =>选择在URL左侧的删除,然后我们必须从数据中填写ID,以要删除的数据,如何选择params(在URL下)。填写从哪个表中删除的ID的名称,在这里我将从内容表中删除,然后填写要删除数据的ID,在这里我将使用ID2删除内容2。

Method DELETE

会有警告,因为我们没有填写ID_AKUN列,但这没关系。数据将保持删除。如果要查看剩余数据,则可以使用GET方法。

Method GET

您也可以通过上传数据库文件(在HTDOCS XAMPP文件夹中)使用SQLiteOnline.com检查,请使用SELECT命令查看数据。

Check on sqliteonline

谢谢

感谢您的关注,请随时发表评论。祝你好运 - ow;