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

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

最近有一个需求,前端向后台提交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获取JSON的数据可以使用内置的 json_decode() 就可以解码为PHP变量,可根据自己需要的格式来进行格式化并提交到数据库。

例如:

<?php 

$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}' 

var_dump(json_decode($json)) 

var_dump(json_decode($json, true)) 

?>

将会输出

object(stdClass)#1 (5) { 

["a"] => int(1) 

["b"] => int(2) 

["c"] => int(3) 

["d"] => int(4) 

["e"] => int(5) 

array(5) { 

["a"] => int(1) 

["b"] => int(2) 

["c"] => int(3) 

["d"] => int(4) 

["e"] => int(5) 

}

JSON在php中本质是字符串,直接存储就行了。

看你的图片,并不是一个JSON,而是一个数组,所以需要先将数组转码为JSON,再进行存储。

// 使用内置函数:json_encode()

$data = array()

$jsonString = json_encode($data)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7333929.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存