【发布时间】:2020-02-19 22:10:21
【问题描述】:
我有以下代码用于将数据保存到 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);
}
}
代码在邮递员上运行没有任何错误。我可能做错了什么
【问题讨论】:
-
A 500 错误是一种通用错误消息,几乎涵盖了 PHP 脚本可能出错的每一件事。检查您的服务器错误日志以找出确切的错误消息。
-
确保通过邮递员连接到服务器时连接参数正常。错误提示,缺少正确连接服务器的内容。
-
$_post与$_POST不同 -
@aynber 你是什么意思?
-
PHP 变量的大小写很重要。
$_POST是超级全局,$_post不是,而且很可能会抛出“未识别的变量”错误消息。
标签: java php android-volley