java - Volley 库在发布请求时给出错误 500

标签 java php android-volley

我有以下代码,用于将数据保存到 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);

}

我的问题是,当我发出 post 请求时,收到错误代码 500。以下是logcat上实际记录的错误

BasicNetwork.performRequest: Unexpected response code 500 for https://foodfuzz.co.ke/foodfuzzbackend/market/orders/order.php

这是服务器上指定网址上的 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);
    }
}

该代码在 postman 上运行,没有任何错误。我可能做错了什么

最佳答案

此错误通常是由您的代码错误引起的,首先最好检查您的 php 脚本以及其他代码是否没有错误。就我而言,发布数据与表列不匹配。

关于java - Volley 库在发布请求时给出错误 500,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58526630/

相关文章:

java - 线程 "main"java.lang.Error : WebDriver ChromeDriver can not be resolved 中出现异常

java - 尝试将定义为 PreloadedImage 的图像写入 MySQL 时出错

javascript - POST 成功后 Ajax 重定向到另一个页面

php - 在保存事件之前/之后查看 Magento 模型数据更改?

java - 没有值从 php 返回到 android 应用程序

java - JUnit 和 Clojure 单元测试

java - Volley NetworkImageView - 如何回收位图?

android - 使用 android volley 库解析 JSON 数组中的 JSON 对象

android - 使用 Android volley 进行单元测试

java - Spring-boot micrometer timer() 它是如何工作的?