php - Volley 代码在android中发送空值?

标签 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);

    }

我不明白我的 volley 代码是否有问题,为什么它会记录正确的值。 这是我的 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 这是我得到的回应:-

DOWNLOAD RESPONSE: NULL

NULL

string(3) "Yes"

string(3) "Yes"

NULL

如有任何帮助或建议,我们将不胜感激。谢谢。

最佳答案

您需要先调试您的 php 代码。使用 postman 或 html 表单。那么只有你应该尝试在 android 上进行测试。您的 PHP 代码不返回 json。它返回 php var 转储。要返回 json,您必须使用关联数组调用 json_encode。

关于php - Volley 代码在android中发送空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38770473/

相关文章:

mysql - 如何将删除结果保存到mysql中的变量中?

php - 防止在没有事件数据库连接的情况下使用 mysql_real_escape_string 时出现错误

php - PHP 中 2 点之间的相对位置(纬度/经度)

java - com.google.firebase.database.DatabaseException : Found two getters or fields with conflicting case sensitivity for property: name

android - Ionic 3 Deeplinking - 从 URL 启动应用程序

mysql - 当我通过 FQDN 指定用户的主机时无法连接 MySQL

php - 如何将 text/html 数据发送到浏览器

php - 通过 php 处理 XML 目录

android - 从联系人获取 IM 属性

MySQL排名计算失败,变量始终为空