I'm new here I would like to get some help with my code.
I'm trying to send 6 strings using JSON Object to a database and its failed. here is my android code:
buttonsend.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
StringRequest request = new StringRequest(Request.Method.POST, insertUrl, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
System.out.println(response.toString());
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
buttonsend.setText("Failed!");
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String,String> parameters = new HashMap<String, String>();
parameters.put("name",TName.getText().toString());
parameters.put("phone",TPhone.getText().toString());
parameters.put("mail",TMail.getText().toString());
parameters.put("A1",Q1Answer);
parameters.put("A2",Q2Answer);
parameters.put("A3",Q3Answer);
return parameters;
}
};
requestQueue.add(request);
}
});
}
here is my PHP Script (i have another script for the credentials):
<?php
define('hostname', 'localdb');
define('user', 'sagisupr_qweasd');
define('password', 'sagisupr_qweasd');
define('databaseName', 'sagisupr_ppls');
$connect = mysqli_connect(hostname, user, password, databaseName);
$name = $_POST["name"];
$phone = $_POST["phone"];
$mail = $_POST["mail"];
$A1 = $_POST["A1"];
$A2 = $_POST["A2"];
$A3 = $_POST["A3"];
$query = "Insert into ppls VALUES ('$name','$phone','$mail','$A1','$A2','$A3')";
mysqli_query($connect, $query) or die (mysqli_error($connect));
mysqli_close($connect);
echo 'HERE IS IT ! ';
?>
any idea why i get exepction ?\
here are some logs from android monitor:
08-20 22:23:08.476 9694-9694/com.example.sagis.motor1 W/art: Before Android 4.1, method int android.support.v7.widget.ListViewCompat.lookForSelectablePosition(int, boolean) would have incorrectly overridden the package-private method in android.widget.ListView
08-20 22:23:17.154 9694-9839/com.example.sagis.motor1 D/NetworkSecurityConfig: No Network Security Config specified, using platform default
08-20 22:23:17.154 9694-9839/com.example.sagis.motor1 E/Volley: [306] NetworkDispatcher.run: Unhandled exception java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at java.net.URLEncoder.encode(URLEncoder.java:205)
at com.android.volley.Request.encodeParameters(Request.java:476)
at com.android.volley.Request.getBody(Request.java:462)
at com.android.volley.toolbox.HurlStack.addBodyIfExists(HurlStack.java:253)
at com.android.volley.toolbox.HurlStack.setConnectionParametersForRequest(HurlStack.java:227)
at com.android.volley.toolbox.HurlStack.performRequest(HurlStack.java:107)
at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:97)
at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:114)
manifest permission:
<uses-permission android:name="android.permission.INTERNET" />
debug error: enter image description here