为什么我的应用程序从Android向PHP数据库发送空行?

时间:2019-06-16 14:10:18

标签: java android

当我单击应用程序上的按钮以将数据发送到PHP时,没有错误,但到PHP的数据为空!

我们尝试了一些不同的代码,但这是唯一在数据库中写一行(空行)的代码

 RequestQueue requestQueue;
 String insertUrl ="http://www.test.com/test.php";
 // new NetworkAsyncTask().execute(); // verificare

StringRequest request= new StringRequest(Request.Method.POST, insertUrl, new Response.Listener<String>() {
    @Override
    public void onResponse(String response) {
       openDialog("ok");
     }
    }, new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError error) {
        openDialog(error.toString());
     }
    }){     
        @Override
        protected Map<String, String>getParams() throws AuthFailureError{
            Map<String, String> parameters = new HashMap<String, String>();
            parameters.put("nome",nome.getText().toString());
            parameters.put("cognome",cognome.getText().toString());           

            return parameters;
        }
    };   
    requestQueue.add(request);
    openDialog("INVIATA");
}

我们还尝试了以下方法:  没有输出,但是在调试中,所有的都是正确的

class NetworkAsyncTask extends AsyncTask<Void, Void, Void> {

    @Override
    protected Void doInBackground(Void... params) {

        String myurl = "http://www.theactivitymanager.com/InsertPrenotazione.php";
        try {
            URL url = new URL(myurl);
            HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
            httpURLConnection.setRequestMethod("POST");
            httpURLConnection.setDoOutput(true);
            httpURLConnection.setDoInput(true);
            OutputStream outputStream = httpURLConnection.getOutputStream();
            BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream,"UTF-8"));
            String post_data = URLEncoder.encode("nome", "UTF-8")+"="+URLEncoder.encode("dio","UTF-8");
            bufferedWriter.write(post_data);
            bufferedWriter.flush();
            bufferedWriter.close();
            outputStream.close();
            httpURLConnection.disconnect();
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }


        return null;
    }
}

这是PHP代码。这实际上适用于iOS应用

<?php

    $response = array();

    $rest_json = file_get_contents("php://input");
    $_POST = json_decode($rest_json, true);

    // Create connection
    $conn=mysqli_connect("localhost","adminr","password","dbtest");

    // Check connection
    if (mysqli_connect_errno())
    {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }


    $nome=$_POST["nome"];
    $cognome = $_POST["cognome"];


    $mysql_qry = "INSERT INTO testTableUser (nome, cognome) VALUES ('$nome','$cognome')";

    if (mysqli_query($conn,$mysql_qry)) 
    {
        $response["success"] = 1;
                $response["message"] = "Data inserted into database.";

                // echoing JSON response
                echo json_encode($response);
    }
    else
    {
        $response["error"] = 1;
                $response["message"] = "Error: " . $conn->error;

                // echoing JSON response
                echo json_encode($response);
    }

    $conn->close();
?>

0 个答案:

没有答案