Volley代码在android中发送空值?

时间:2016-08-04 14:40:39

标签: php android mysql android-volley

我正在使用volley将数据发送到mysql数据库。在发送数据之前,我将其记录在我获取数据的位置。但是当我在我的php代码中执行var_dump时,我得到空值。 这是我的截击码: -

public void update_info(final String device_imei, final String magazine_id)
    {
        StringRequest stringRequest = new StringRequest(Request.Method.POST, UPDATE_URL,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response)
                    {
                        Log.d("DOWNLOAD RESPONSE", response.toString().trim());

                    }
                }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {

            }
        }){
            @Override
            protected Map<String, String> getParams() throws AuthFailureError
            {
                String date = new SimpleDateFormat("dd-mm-yyyy").format(new Date());
                Map<String, String> params = new HashMap<>();
                params.put(KEY_DEVICEID, device_imei);
                params.put(KEY_MAGAZINEID, magazine_id);
                params.put(KEY_PURCHASEDATE,date);
                Log.d("SENDING PARAMS",device_imei+magazine_id+date);
                return super.getParams();
            }
        };

        RequestQueue requestQ = Volley.newRequestQueue(this);
        requestQ.add(stringRequest);

    }

我不知道我的凌空代码中是否存在问题,为什么它会记录正确的值。 这是我的PHP代码: -

require_once "config.php";

$con = mysqli_connect($server_name, $mysql_user, $mysql_pass, $dbname);

if (!$con) {
    echo "Connection Error".mysqli_connect_error();
} 

$device_id = $_POST['device_id'];
$magazine_id = $_POST['magazine_id'];
$download_status = "Yes";
$purchase_status ="Yes";
$purchase_date = $_POST['purchase_date'];

echo var_dump($device_id) . "<br/>";  
echo var_dump($magazine_id) . "<br/>";  
echo var_dump($download_status) . "<br/>";  
echo var_dump($purchase_status) . "<br/>";  
echo var_dump($purchase_date) . "<br/>"; 

我得到的日志如下: - 发送参数:359221060741339Shatayushi201504-05-2016 这是我得到的回应: -

  

下载响应:NULL
  
NULL
  
字符串(3)“是”
  
字符串(3)“是”
  
NULL
  

感谢任何帮助或建议。谢谢。

2 个答案:

答案 0 :(得分:0)

您需要先调试您的PHP代码。使用邮递员或html表格。那么只有你应该尝试在Android上测试。您的PHP代码不会返回json。它返回php var dumps。要返回json,你必须使用关联数组调用json_encode。

答案 1 :(得分:0)

而不是返回super.getParams();返回你自己的参数。