php - Android http post 参数错误代码 500

标签 php android http-post

我想通过 http post 添加新的支持数据。我收到错误响应代码是 500。我检查代码和 php 文件,但看不到任何问题。我没有完成代码,如何在解决 500 错误后获得结果。

NewSupport.java

try{
    URL url = new URL("myurl/db_newSupport.php");

    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    conn.setReadTimeout(15000);
    conn.setConnectTimeout(15000);
    conn.setRequestMethod("POST");
    conn.setDoInput(true);
    conn.setDoOutput(true);

    Uri.Builder builder = new Uri.Builder()
            .appendQueryParameter("uniq",  "UNIQ")
            .appendQueryParameter("data",  "DATA")
            .appendQueryParameter("date",  "DATE");
    String query = builder.build().getEncodedQuery();

    OutputStream os = conn.getOutputStream();
    BufferedWriter writer = new BufferedWriter(
            new OutputStreamWriter(os, "UTF-8"));
    writer.write(query);

    writer.flush();
    writer.close();
    os.close();

    int responseCode=conn.getResponseCode();
    if (responseCode == HttpURLConnection.HTTP_OK) {
        BufferedReader in=new BufferedReader(new InputStreamReader(conn.getInputStream()));
        StringBuffer sb = new StringBuffer("");
        String line="";

        while((line = in.readLine()) != null) {

            sb.append(line);
            break;
        }

        in.close();
    }
}
catch(Exception e){
    e.printStackTrace();
}

db_newSupport.php

$response = array();
if (isset($_POST['uniq']) && isset($_POST['data']) && isset($_POST['date'])) {

    $uniq  = $_POST['uniq'];
    $data  = $_POST['data'];
    $date  = $_POST['date'];

    require_once __DIR__ . '/db_connect.php';
    $db    = new DB_CONNECT();
    $result= mysql_query("INSERT INTO new(uniq, data, date) VALUES('$uniq', '$data', '$date')");

    if ($result) {
        $response["code"]  = 1;
        $response["info"]  = "successfully";

        echo json_encode($response);
    } else {
        $response["code"]  = 0;
        $response["info"]  = "error";

        echo json_encode($response);
    }
} else {
    $response["code"] = 99;
    $response["info"] = "error";

    echo json_encode($response);
}
?>

最佳答案

这是服务器端问题。

  1. 启用 PHP 错误:https://stackoverflow.com/a/845025/1979882

  2. 将 POST 方法更改为 GET,以便在任何浏览器中检查结果以简化调试。

3.在此处写入结果日志。

看这个:https://stackoverflow.com/a/9711595/1979882

还有这个:https://stackoverflow.com/a/9717056/1979882

简单来说,执行这个chmod -R 755/usr/local/apache/htdocs/

关于php - Android http post 参数错误代码 500,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40109095/

相关文章:

swift - 发布请求不添加对象的内部数组

php - Laravel PDO 找不到驱动程序

android - Eclipse Juno 中没有默认建议

android - ionic 运行 android - 错误 : Cannot find module 'internal/fs' - windows

post - 如何在Fiddler中修改请求?

http - 响应幂等 HTTP POST 请求

php - mysql_real_escape_string 的缺点?

php - 为每个元素运行 php 操作

php - 类型错误 : Object #<HTMLDivElement> has no method 'fadeTo'

java - 无法打开sqlite数据库,指定的目录或数据库文件不存在