【发布时间】:2020-09-22 17:27:23
【问题描述】:
大家好,我被这个问题困扰了几个星期了,希望你们能帮我解决这个问题。 所以我有一个带有数据库的本地服务器(PHPMyadmin + MySQL),我有一个请求,我用 Postman 调用如下 http://localhost/WebApi/v1/?op=addBars 我通过这个请求传递了 4 个值 first_name,Last_name,电子邮件和通行证,它们将保存在数据库中,并且工作正常。 但是当我尝试在 Kotlin 中使用 Volley 将数据发送到数据库时:我没有得到任何答案,也没有错误 所以这就是我的 V1.php 的样子
case 'addBars':
if(isset($_POST['Email']) && isset($_POST['Pass']) && isset($_POST['First_Name'])&& isset($_POST['Last_Name'])){
$db = new DbOperation();
if($db->createBars($_POST['Email'], $_POST['Pass'],$_POST['First_Name'], $_POST['Last_Name'])){
$response['error'] = false;
$response['message'] = 'Bars added successfully';
}else{
$response['error'] = true;
$response['message'] = 'Could not add Bars';
}
}else{
$response['error'] = true;
$response['message'] = 'Required Parameters are missing';
}
break;
这也是 DbOperation.php 中创建栏的样子
public function createBars($Email,$Pass,$First_Name,$Last_Name){
$stmt = $this->con->prepare("INSERT INTO Bars (Email, Pass,First_Name,Last_Name) VALUES (?,?,?,?)");
$stmt->bind_param("ssss", $Email, $Pass,$First_Name,$Last_Name);
if($stmt->execute())
return true;
return false;
}
这也是我在 Kotlin 中使用 Volley 请求的方式
val stringRequest = object : StringRequest(Request.Method.POST, EndPoints.URL_ADD_Bars,
Response.Listener { response ->
try {
val obj = (response)
Toast.makeText(applicationContext ,"test "+obj+"" , Toast.LENGTH_SHORT).show()
// Toast.makeText(applicationContext, obj.getString("message"), Toast.LENGTH_LONG).show()
} catch (e: JSONException) {
Toast.makeText(applicationContext, "response,"+response.toString()+"", Toast.LENGTH_LONG).show()
e.printStackTrace()
}
},
object : Response.ErrorListener {
override fun onErrorResponse(volleyError: VolleyError) {
Toast.makeText(applicationContext, "error,"+volleyError.toString()+"", Toast.LENGTH_LONG).show()
}
})
{
@Throws(AuthFailureError::class)
override fun getParams(): Map<String, String> {
val params = HashMap<String, String>()
params.put("Email",Email)
params.put("Pass",Pass)
params.put("First_Name",First_Name)
params.put("Last_Name",Last_Name)
return params
}
}
//adding request to queue
VolleySingleton.instance?.addToRequestQueue(stringRequest)}
这就是我的 EndPoints 的样子
object EndPoints {
private val URL_ROOT = "https://192.130.180.209/WebApi/v1/?op="
val URL_ADD_Bars = URL_ROOT + "addBars"
val URL_GET_Bars = URL_ROOT + "getBars"
val URL_Bars_info = URL_ROOT + "Bars_info"
val URL_Bars_Listing = URL_ROOT + "Bars_Listing"
val URL_Bars_Listing_name_adress = URL_ROOT + "Bars_Listing_name_adress"
val URL_Bars_info_update_api = URL_ROOT + "Bars_info_update_api"
}
如果您能帮我解决这个问题,我将不胜感激 :) 如果您有任何问题,请联系我 我正在使用凌空:1.1.0 compileSdkVersion 29 buildToolsVersion "29.0.3"
【问题讨论】:
-
你可以在服务器或主机上上传文件PHP吗?所以我可以测试?
标签: php json kotlin singleton android-volley