java - Volley 库在发布请求时给出错误 500
问题描述
我有以下代码用于将数据保存到 mysql 数据库中;
private void save(final String orderId, final String client, final String name, final String Seller, final String amount, final String quantity, final double longi, final double lat, final String location, final ProgressDialog progressDialog) {
String URL_ORDER = "https://foodfuzz.co.ke/foodfuzzbackend/market/orders/order.php";
StringRequest orderStringRequest = new StringRequest(Request.Method.POST, URL_ORDER,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject orderObject = new JSONObject(response);
String orderSuccess = orderObject.getString("success");
if(orderSuccess.equals("1")){
Toast.makeText(CheckOutActivity.this,"Order Placed Successfully " , Toast.LENGTH_SHORT).show();
pay.setVisibility(View.GONE);
}
} catch (JSONException e) {
e.printStackTrace();
progressDialog.dismiss();
Toast.makeText(CheckOutActivity.this,"Unable to place order " + e.toString(), Toast.LENGTH_SHORT).show();
pay.setEnabled(true);
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
progressDialog.dismiss();
Toast.makeText(CheckOutActivity.this,"Error placing order " + error.toString(), Toast.LENGTH_SHORT).show();
pay.setEnabled(true);
}
}){
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
params.put("orderId",orderId);
params.put("name", name);
params.put("client", client);
params.put("seller", Seller);
params.put("amount", amount);
params.put("quantity",quantity);
params.put("longitude",String.valueOf(longi));
params.put("latitude",String.valueOf(lat));
params.put("location",location);
return params;
}
};
RequestQueue orderRequestQueue = Volley.newRequestQueue(this);
orderRequestQueue.add(orderStringRequest);
}
我的问题是当我发出发布请求时收到错误代码 500。以下是logcat上记录的实际错误
BasicNetwork.performRequest: Unexpected response code 500 for https://foodfuzz.co.ke/foodfuzzbackend/market/orders/order.php
这是服务器上指定 url 上的 php 代码
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
require_once '../db/connector.php';
$orderId = mysqli_real_escape_string($conn, $_POST['orderId']);
$client = mysqli_real_escape_string($conn, $_POST['client']);
$product = mysqli_real_escape_string($conn, $_POST['name']);
$seller = mysqli_real_escape_string($conn, $_POST['seller']);
$amount = mysqli_real_escape_string($conn, $_POST['amount']);
$quantity = mysqli_real_escape_string($conn, $_POST['quantity']);
$longi = mysqli_real_escape_string($conn, $_POST['longitude']);
$lati = mysqli_real_escape_string($conn, $_POST['latitude']);
$loc = mysqli_real_escape_string($conn, $_post['location']);
$status = 1;
$sql = "INSERT INTO tbl_orders (orderid, client, product, seller, amount, quantity, longitude, latitude, deliveryloc, status) VALUES ('$orderId', '$client', '$product', '$seller', '$amount', '$quantity', '$longi', '$lati', '$loc', '$status')";
if (mysqli_query($conn, $sql)) {
$result["success"] = "1";
$result["message"] = "success";
echo json_encode($result);
mysqli_close($conn);
} else {
$result["success"] = "0";
$result["message"] = "error";
echo json_encode($result);
mysqli_close($conn);
}
}
该代码适用于邮递员,没有任何错误。我可能做错了什么
解决方案
此错误通常是由您的代码中的错误引起的,首先最好检查您的 php 脚本是否没有错误以及其他代码是否正确。在我的情况下,发布数据与表格列不匹配。
推荐阅读
- firebase - 任务“:app:transformClassesAndResourcesWithR8ForRelease”执行失败。在尝试获取颤振应用程序的 apk 时
- java - 一个用户有两个角色的输出
- html - 如何在(wix)iframe中显示完整的视频?
- sql - 选择基于第一次登录和最后一次注销的轮班时间
- ubuntu - 如何在安装时创建 .deb 包要求配置?
- javascript - 发生警告时如何使 npm 失败?
- authentication - Cloud Endpoints,向 API 密钥授予角色以限制某些方法/路径(例如:读/写角色)
- c - 为什么我得到相当于字符的负整数
- node.js - 处理 firebase 中的 react-native 地理位置更新
- c++ - boost is_invocable_v 和 is_invocable::value 返回不同的结果