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

最近有一个需求,前端向后台提交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

(0)

相关推荐

  • PHP大批量插入数据库的3种方法和速度对比

    第一种方法:使用insert into 插入,代码如下: $params = array('value'=>'50′); set_time_limit(0); echo date("H:i:s"); for($i=0;$i<2000000;$i++){ $connect_mysql->insert($params); }; echo date("H:i:s"); 最后显示为:23:25:05 01:32:05 也就是花了2个小时多! 第二种方法:使

  • php 在文件指定行插入数据的代码

    复制代码 代码如下: $arrInsert = insertContent("array.php", "abcdef", 3, 10); unlink("array.php"); foreach($arrInsert as $value) { file_put_contents("array.php", $value, FILE_APPEND); } function insertContent($source, $s, $i

  • php读取txt文件并将数据插入到数据库

    今天测试一个功能,需要往数据库中插入一些原始数据,PM给了一个txt文件,如何快速的将这个txt文件的内容拆分为所要的数组,然后再插入到数据库中? serial_number.txt的示例内容: serial_number.txt: DM00001A11 0116, SN00002A11 0116, AB00003A11 0116, PV00004A11 0116, OC00005A11 0116, IX00006A11 0116, 创建数据表: create table serial_numb

  • php插入含有特殊符号数据的处理方法

    发现问题 当我们在向mysql写入数据时,如果数据中有特殊字符就会出现数据无法正常入库的情况,比如: mysql_query("update table set `name`='make's'"); 而这个时候一般就是使用addslashes()这个函数来转义数据中的特殊字符 处理方法 PHP为了安全性,所以引入了个magic_quotes_gpc = On的功能,可以不需要做任何处理就能直接把单引号插入数据库中,那么对于Off时,则需要考虑单引号的问题了,而不是一味地信任运行环境.

  • ThinkPHP写数组插入与获取最新插入数据ID实例

    本文实例讲述了thinkphp写数组插入与获取最新插入数据ID的实现方法.分享给大家供大家参考.具体方法分析如下: 该实例讲述了thinkphp怎么自己写数组插入,此处是以注册用户为例. 具体实现代码如下: 复制代码 代码如下: public function insert2(){  header("Content-Type:text/html; charset=utf-8");  $Dao = M("User"); // 构建写入的数据数组  $data[&quo

  • php+mysqli实现批量执行插入、更新及删除数据的方法

    本文实例讲述了php+mysqli实现批量执行插入.更新及删除数据的方法.分享给大家供大家参考.具体如下: mysqli批量执行插入/更新/删除数据,函数为 multi_query(). 下面的代码只是批量插入数据,事实上,插入数据.更新数据.删除数据等可以混合一起执行.查询时使用该函数,读取数据有点不太一样,具体参考如下代码: <?php //1.创建数据库连接对象 $mysqli = new MySQLi("localhost","root","

  • php读取txt文件组成SQL并插入数据库的代码(原创自Zjmainstay)

    /** * $splitChar 字段分隔符 * $file 数据文件文件名 * $table 数据库表名 * $conn 数据库连接 * $fields 数据对应的列名 * $insertType 插入操作类型,包括INSERT,REPLACE */ 复制代码 代码如下: <?php /** * $splitChar 字段分隔符 * $file 数据文件文件名 * $table 数据库表名 * $conn 数据库连接 * $fields 数据对应的列名 * $insertType 插入操作类型

  • PHP+MySQL之Insert Into数据插入用法分析

    本文实例讲述了PHP+MySQL之Insert Into数据插入用法.分享给大家供大家参考.具体如下: INSERT INTO 语句用于向数据库表中插入新纪录. 向数据库表插入数据 INSERT INTO 语句用于向数据库表添加新纪录. 语法: INSERT INTO table_name VALUES (value1, value2,....) 您还可以规定希望在其中插入数据的列: INSERT INTO table_name (column1, column2,...) VALUES (va

  • php daodb插入、更新与删除数据

    复制代码 代码如下: <?php include("adodb/adodb.inc.php"); //包含adodb类库文件 $conn = NewADOConnection('mysql'); //连接数据库 $conn -> Connect('localhost', 'root', '1981427', 'test'); $conn -> Execute("insert into tablename1 values('9','zhuzhao', 'Sim

  • php把数据表导出为Excel表的最简单、最快的方法(不用插件)

    先定义头部信息,表示输出一个excel.然后再以table的形式把数据库的信息循环的echo出来,就好了. 复制代码 代码如下: <?php header("Content-type:application/vnd.ms-excel"); header("Content-Disposition:filename=xls_region.xls"); $cfg_dbhost = 'localhost'; $cfg_dbname = 'testdb'; $cfg_d

随机推荐