2016-09-03 3 views
1

Я пытаюсь вставить данные в базу данных mysql с помощью volley, но всегда ответ как ошибка, я застрял и не могу перейти к моему проекту. Я не могу найти, что заставило его не выполнять мои PHP-коды. Я также проверил свой PHP-код, используя PostMan, и он работает хорошо. Теперь я пытаюсь вставить в него некоторые тестовые данные, но до сих пор не повезло. Надеюсь, ты сможешь светить во мне и помочь мне. Спасибо.Как вставить данные в базу данных Mysql с помощью Volley

Insert.Java

Button confirmOrder = (Button) findViewById(R.id.confirmOrder); 
     confirmOrder.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 

       final int a = 1; 
       final String b = "Beth"; 
       final int c = 1; 
       final int d = 3; 
       final int e = 1; 
       final String f = "Bert"; 



       final String URL = "https://10.0.2.2/myDB/order.php"; 

       StringRequest stringRequest = new StringRequest(Request.Method.POST, URL, new Response.Listener<String>() { 
        @Override 
        public void onResponse(String response) { 
         if(response.contains("success")) { 
          Toast.makeText(getApplicationContext(), "success", Toast.LENGTH_SHORT).show(); 
         } 
        } 
       }, new Response.ErrorListener() { 
        @Override 
        public void onErrorResponse(VolleyError error) { 
         Toast.makeText(getApplicationContext(),"failed",Toast.LENGTH_SHORT).show(); 
        } 
       }){ 
        @Override 
        protected Map<String, String> getParams() throws AuthFailureError { 
         Map<String, String> params = new HashMap<>(); 
         params.put("table_id", String.valueOf(a)); 
         params.put("cust_name", b); 
         params.put("item_id", String.valueOf(c)); 
         params.put("quantity", String.valueOf(d)); 
         params.put("status_id", String.valueOf(e)); 
         params.put("username", f); 
         return params; 
        } 
       }; 

       MySingleton.getInstance(getApplicationContext()).addToRequestQueue(stringRequest); 

      } 
     }); 

order.php

<?php 
include_once("init.php"); 

if(isset($_POST['table_id']) && isset($_POST['cust_name']) && 
    isset($_POST['item_id']) && isset($_POST['quantity']) && isset($_POST['status_id']) 
    && isset($_POST['username'])){ 
     $tableid = $_POST['table_id']; 
     $custname = $_POST['cust_name']; 
     $itemid = $_POST['item_id']; 
     $quantity = $_POST['quantity']; 
     $statusid = $_POST['status_id']; 
     $username = $_POST['username']; 

     $query = "INSERT INTO tbl_order(table_id,cust_name,item_id,quantity,status_id,username) 
     VALUES ('$tableid', '$custname', '$itemid', '$quantity', '$statusid', '$username')"; 

    $result = mysqli_query($con, $query); 

    if($result > 0){ 
     echo "success"; 
    } 
    else{ 
     echo "failed"; 
    } 
} 


?> 

ответ

1

Линия - final String URL = "https://10.0.2.2/myDB/order.php";

http://10.0.2.2/myDB/order.php"; вы ошибочно написаны http

+0

thx, который работает! – newBieUser0829

1

Вы Арент отправку любых Content-Type заголовок для вашего запроса, как показано в this tutorial

@Override 
public Map<String, String> getHeaders() throws AuthFailureError { 
    Map<String,String> params = new HashMap<String, String>(); 
    params.put("Content-Type","application/x-www-form-urlencoded"); 
    return params; 
} 
Смежные вопросы