gpt4 book ai didi

java - 无法从 Android 使用快速 Android 网络将数据输入 MySQL

转载 作者:行者123 更新时间:2023-12-01 17:23:56 25 4
gpt4 key购买 nike

我尝试使用Android和MYSQL、PHP为服务器REST API制作简单的CRUD。我使用快速 Android 网络库,一切正常并正在运行,但如果我单击“Tambah 数据/添加数据”,它会显示“添加到数据库失败”。我这里有一些用于发布数据功能的代码。

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

}

这里 create.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);
}
?>

怎么了?谁能解决这个问题吗?谢谢

最佳答案

您缺少传递 ID 值进行查询。在您的表中,如果您的 ID 列不为空且不是自动生成的,则表示该列不为空。查询不会执行。如果您发布您的数据库表结构可能会很好地理解。

关于java - 无法从 Android 使用快速 Android 网络将数据输入 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61239935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com