Невозможно ввести данные в MySQL, используя быструю Android сеть из Android - PullRequest
0 голосов
/ 16 апреля 2020

Я пытаюсь сделать простой CRUD с Android и MYSQL, PHP для REST API сервера. Я использую Fast Android Network Library, и все в порядке и работает, но если я нажимаю «Tambah Data / Add Data», он показывает «Не удалось добавить в базу данных». У меня есть код для функции 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
                }
            });
}

}

Здесь создайте. php У меня есть:

    <?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);
}
?>

что не так? и может ли кто-нибудь решить это? Спасибо

1 Ответ

0 голосов
/ 16 апреля 2020

Вам не хватает передать значение идентификатора на запрос. В вашей таблице, если у вас есть идентификатор столбца не пустое поле, и это не означает автоматически сгенерированный. Запрос не будет выполнен. Если вы публикуете свою структуру таблицы базы данных, это может быть хорошо для понимания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...