Can't Input Data to MySQL Using Fast Android Network From Android

258 Views Asked by At

I try to make simple CRUD with Android and MYSQL , PHP for server REST API. I use Fast Android Network Library, and everything is ok and runing, but if i click "Tambah Data / Add Data" it SHow " Failed add to database " . I have some code here for function Post Data.

public void tambahData(String nim, String nama, String kelas){
    //koneksi ke file create.php, jika menggunakan localhost gunakan ip sesuai dengan ip kamu
    AndroidNetworking.post("http://192.168.1.5/mahasiswa/create.php")
            .addBodyParameter("id_mahasiswa", "") //id bersifat Auto_Increment tidak perlu diisi/(diisi NULL) cek create.php
            .addBodyParameter("nim",nim) //mengirimkan data nim_mahasiswa yang akan diisi dengan varibel nim
            .addBodyParameter("nama", nama) //mengirimkan data nama_mahasiswa yang akan diisi dengan varibel nama
            .addBodyParameter("kelas", kelas) //mengirimkan data kelas_mahasiswa yang akan diisi dengan varibel kelas
            .setPriority(Priority.MEDIUM)
            .build()
            .getAsJSONObject(new JSONObjectRequestListener() {
                @Override
                public void onResponse(JSONObject response) {
                    //Handle Response
                    Log.d(TAG, "onResponse: " + response); //untuk log pada onresponse
                    Toast.makeText(getApplicationContext(),"Data berhasil ditambahkan" , Toast.LENGTH_SHORT).show();
                    //memunculkan Toast saat data berhasil ditambahkan

                }
                @Override
                public void onError(ANError error) {
                    //Handle Error
                    Log.d(TAG, "onError: Failed" + error); //untuk log pada onerror
                    Toast.makeText(getApplicationContext(),"Failed add to database", Toast.LENGTH_SHORT).show();
                    //memunculkan Toast saat data gagal ditambahkan
                }
            });
}

}

Here create.php i have :

    <?php
if($_SERVER['REQUEST_METHOD']=='POST'){

//include file connect.php untuk menyambungkan file create.php dengan database
include "config.php";

//inisialisasi variabel yang akan ditampung dan diolah dengan query
$id = $_POST['id_mahasiswa'];
$nim = $_POST['nim'];
$nama = $_POST['nama'];
$kelas = $_POST['kelas'];

//inisialiasi query INSERT  
$query = "INSERT INTO tb_mahasiswa(id_mahasiswa,nim,nama,kelas) VALUES ('','$nim','$nama','$kelas')";

//pemanggilan fungsi mysqli_query untuk mengirimkan perintah sesuai parameter yang diisi
$sql = mysqli_query($connect, $query);

//pengkondisian saat fungsi mysqli_query berhasil atau gagal dieksekusi
if($sql){
     $response["value"] = 1;
     $response["message"] = "Sukses tambah data";
     echo json_encode($response); //merubah respone menjadi JsonObject
}else{
     $response["value"] = 0;
     $response["message"] = "Gagal tambah data";
     echo json_encode($response); //merubah respone menjadi JsonObject
}
//tutup koneksi
mysqli_close($connect);
}
?>

what wrong ? and Can Anyone Solve that ? Thanks

1

There are 1 best solutions below

2
On BEST ANSWER

You missing to pass the ID value to query. In your table, if you have ID column is not null filed and it is not auto-generated means. Query won't execute. If you post your database table structure might be good to understand well.