将JSONobject数据数组添加到mysql

时间:2018-07-25 05:34:13

标签: php json android-volley

我必须通过Volley从Android应用程序发送一个JSON对象数组,并必须在后端PHP中对其进行处理,以便将它们插入相关表中。 在服务器端,成功接收了数组(我将数组转换为应用程序代码中的字符串,然后将其作为字符串发送)。 但是我无法在代码中找到错误。万一我的方法不对,请提出正确有效的方法,不胜感激。

This is the string being received in the server side : 

[
  {
    "product": 1451,
    "qty": 1
  },
  {
    "product": 2704,
    "qty": 1
  },
  {
    "product": 2705,
    "qty": 1
  }
]
  

代码是

  case "sales_items": //print_r($_POST);
                            $invoice = $_POST['invoice']; 
                            $sales_items = $_POST['sales_items'];

                        foreach($sales_items as $item){
                            mysqli_query($conn,"INSERT INTO app_sales_items(invoice,product,qty) 
                            VALUES('$invoice','".$item["product"]."','".$item["qty"]."')")or die(mysqli_error($conn));
                        }

                        if(mysqli_affected_rows($conn)>0) {  
                                $response['status'] = true;
                            }
                            else $response['status'] = false;

                        echo json

_encode($response);         
                    break;

1 个答案:

答案 0 :(得分:1)

您需要执行json_decode才能将数据作为数组获取

$sales_items = '[{"product":1451,"qty":1},{"product":2704,"qty":1},
       {"product":2705,"qty":1}]';
     $data = json_decode($sales_items, true);
     foreach($data as $item) {

       //ur code here
      }

使用准备好的语句保存数据

演示链接http://sandbox.onlinephpfunctions.com/code/55773f703a27d76fbead654af6554c8c6fabb401