php - 使用 php 将值插入 mysql

标签 php android mysql

我正在使用 php 将一些值从 Android 登录页面插入到 mysql 数据库。

登录.php

<?php

$con = mysql_connect("localhost","abc","xyz") or die(mysql_error());
mysql_select_db("sync",$con) or die(mysql_error());

$user_name = $_POST['user_name'];
$user_mobile_no = $_POST['user_mobile_no'];
$user_email_id = $_POST['user_email_id'];
$imei_no = $_POST['imei_no'];
$login_date = $_POST['login_date'];
$time = $_POST['time'];

$user_name = 'Navdeep';
$user_mobile_no = '12345678990';
$user_email_id = 'nav@gmail.com';
$imei_no = '1234567890';
$login_date = '24-12-2012';
$time = '01:01:01';

$result = mysql_query("INSERT INTO  
login_details(user_name,user_mobile_no,user_email_id,
    imei_no,login_date,time)  
VALUES('$user_name','$user_mobile_no','$user_email_id','   $imei_no','$login_date','$time')");

if($result)
{
    $response["success"] = 1;
    $response["message"] = "User Details inserted successfully";

    echo json_encode($response);
} else {
    $response["success"] = 0;
    $response["message"] = "There was an error inserting user details";
    echo json_encode($response);
}
mysql_close($con);

?>

当我使用$_POST['']时,值被插入为空白,但是当我对要插入的值进行硬编码时,需要一些帮助

Android 代码:

try{
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("user_name",userName);
        jsonObject.put("user_mobile_no",mobNo);
        jsonObject.put("user_email_id",email);
        jsonObject.put("imei_no",imeino);
        jsonObject.put("login_date",date);
        jsonObject.put("time",time);
        JSONArray jsonArray = new JSONArray();
        jsonArray.put(jsonObject);
        String basicAuth = "Device " + new 
        String(Base64.encode((imeino).getBytes(), Base64.NO_WRAP));
        RequestBody body = 
        RequestBody.create(JSON,String.valueOf(jsonArray));
        OkHttpClient okHttpClient = new OkHttpClient();
        Request request = new Request.Builder().header("Authorization", 
        basicAuth).url(url).post(body).build();
        Call call = okHttpClient.newCall(request);
        call.enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                e.printStackTrace();
                Login.this.runOnUiThread(new Runnable() {

                    @Override
                    public void run() {
                        Toast.makeText(getBaseContext(), "Request to the 
                        server failed", Toast.LENGTH_SHORT).show();
                    }
                });
            }

            @Override
            public void onResponse(Call call, Response response) throws  
            IOException {
                Log.i("response ", "onResponse(): " + response );
                StatusLine statusLine = null;
                String result = response.body().string();
                if(result.equals("") || result.equals(null)){
                    Log.i("No response", "No response");
                }else{
                    Log.i("Response","Response "+result);
                    statusLine = StatusLine.get(response);
                    final int responseCode = statusLine.code;
                    Log.d("Code:", String.valueOf(responseCode));
                }
            }
        });
    }catch (Exception e){
        e.printStackTrace();
    }

最佳答案

您应该从 android 发送表单数据请求。 替换这个

JSONObject jsonObject = new JSONObject();
        jsonObject.put("user_name",userName);
        jsonObject.put("user_mobile_no",mobNo);
        jsonObject.put("user_email_id",email);
        jsonObject.put("imei_no",imeino);
        jsonObject.put("login_date",date);
        jsonObject.put("time",time);
        JSONArray jsonArray = new JSONArray();
        jsonArray.put(jsonObject);
        String basicAuth = "Device " + new 
        String(Base64.encode((imeino).getBytes(), Base64.NO_WRAP));
        RequestBody body = 
        RequestBody.create(JSON,String.valueOf(jsonArray));
        OkHttpClient okHttpClient = new OkHttpClient();
        Request request = new Request.Builder().header("Authorization", 
        basicAuth).url(url).post(body).build();

    RequestBody formBody = new FormBody.Builder()
            .add("user_name",userName)
            .add("user_mobile_no",mobNo)
            .add("user_email_id",email)
            .add("imei_no",imeino)
            .add("login_date",date)
            .add("time",time)
            .build();

String basicAuth = "Device " + new 
        String(Base64.encode((imeino).getBytes(), Base64.NO_WRAP));
    Request request = new Request.Builder().header("Authorization", 
            basicAuth).url(url).post(formBody).build();

关于php - 使用 php 将值插入 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39189312/

相关文章:

php - 无法使用 PHP 执行外部进程

php - 动态 ID 网址问题

php - 在php中将十进制值转换为unicode字符

android - 在哪里可以找到 Android 的 SMS_RECEIVED 或类似事物的定义/描述?

mysql 合并 2 列 where 条件

php - Curl 只能读取前 2000 个字节吗?

java - Android OutOfMemoryError - 加载 JSON 文件

android - ViewPager - 获取下一页的部分 View

php - MySQLi 插入 If

mysql - 如何使用 MySQL 获取有序表中行的位置?