我必须通过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;
答案 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