PHP接收json 并将接收数据插入数据库的实现代码

yipeiwu_com6年前PHP代码库

最近有一个需求,前端向后台提交json,后台解析并且将提交的值插入数据库中,
难点
1、php解析json(这个不算难点了,网上实例一抓一大把)
2、解析json后,php怎样拿到该拿的值

<?php
require ('connect.php');
/*
本例用到的数据:
post_array={"order_id":"0022015112305010013","buyer_id":"2","seller_id":"1","all_price":"100.00","json_list":[{"product_id":"3","product_number":"3"},{"product_id":"8","product_number":"2"},{"product_id":"10","product_number":"4"}]} 
*/
$post_array=$_POST['post_array'];

//--解析Json,获取对应的变量值
$obj=json_decode($post_array,TRUE);
$order_id = $obj['order_id'];
$buyer_id = $obj['buyer_id'];
$seller_id = $obj['seller_id'];
$all_price = $obj['all_price'];

$i=0;//循环变量

//--得到Json_list数组长度
$num=count($obj["json_list"]);

//--遍历数组,将对应信息添加入数据库
for ($i;$i<$num;$i++)
{
	$list_product_id[]=$obj["json_list"][$i]["product_id"];
	$list_product_number[]=$obj["json_list"][$i]["product_number"];
	$insert_order_product_sql="INSERT INTO tbl_order_product (order_id,product_id,product_number) VALUES (?,?,?)";
	$result = $sqlconn -> prepare($insert_order_product_sql);
	$result -> bind_param("sss", $order_id,$list_product_id[$i],$list_product_number[$i]);
	$result->execute();
}

//--添加订单信息
$insert_order_sql="INSERT INTO tbl_order (order_id,buyer_id,seller_id,all_price) VALUES (?,?,?,?)";
$result=$sqlconn->prepare($insert_order_sql);
$result->bind_param("ssss",$order_id,$buyer_id,$seller_id,$all_price);
$result->execute();

$result -> close();
$sqlconn -> close();
?>

投稿者信息
昵称: Hola
Email: jamcistos@outlook.com

相关文章

php接口隔离原则实例分析

本文实例讲述了php接口隔离原则。分享给大家供大家参考,具体如下: 使用多个专门的接口比使用单一的总接口要好。 一个类对另外一个类的依赖性应当是建立在最小的接口上的。 一个接口代表一个角...

$_GET['goods_id']+0 的使用详解

目的: 为了防止sql注入,tid,goods_id都是正整数类型,防止人为了在后面追加 ?tid=1 or 1 这样的语句.原理: 不管你的参数多么险恶,+0后都老老实实变成数值类型...

PHP实现的简单缓存类

本文实例讲述了PHP实现的简单缓存类。分享给大家供大家参考。具体如下: cache.inc.php: <?php class Cache { /** * $di...

PHP中使用Imagick读取pdf并生成png缩略图实例

pdf生成png首页缩略图 (服务器需要支持Imagick)  复制代码 代码如下:  /** * PDF2PNG    * @...

PHP进阶学习之类的自动加载机制原理分析

PHP进阶学习之类的自动加载机制原理分析

本文实例讲述了PHP类的自动加载机制。分享给大家供大家参考,具体如下: 前言 我们在常见的PHP的主流框架中通常写好一个类只需写好相应的命名空间或直接实例化类就可以实现类的使用。而不需要...