php - 将 JSON 解析为 mySQL

标签 php mysql json

在我的 PHP 脚本中获取如下所示的 JSON 字符串(包含任何对象的数组):

[
    {
        "source":"symbols/2/2.png",
        "ypos":133,
        "template":"8B82CA47-41D2-D624-D6A2-37177CD82F28",
        "rotation":0,
        "type":"MyImage",
        "width":252,
        "depth":5,
        "height":159,
        "xpos":581
    },
    {
        "source":"symbols/2/2.png",
        "ypos":175,
        "template":"8B82CA47-41D2-D624-D6A2-37177CD82F28",
        "rotation":0,
        "type":"MyImage",
        "width":258,
        "depth":3,
        "height":163,
        "xpos":214
    },
    {
        "color":"0",
        "ypos":468.38,
        "fontSize":28,
        "xpos":156.95,
        "rotation":0,
        "type":"MyTextArea",
        "width":268.05,
        "depth":7,
        "height":244.62,
        "fontFamily":"Verdana Bold",
        "template":"8B82CA47-41D2-D624-D6A2-37177CD82F28"
    }
]

我如何将每个 JSON 对象保存在这个数组中并在 mySQL 中有一条记录?

最佳答案

试试这个:

<?php
$json = '[
    {
        "source":"symbols/2/2.png",
        "ypos":133,
        "template":"8B82CA47-41D2-D624-D6A2-37177CD82F28",
        "rotation":0,
        "type":"MyImage",
        "width":252,
        "depth":5,
        "height":159,
        "xpos":581
    },
    {
        "source":"symbols/2/2.png",
        "ypos":175,
        "template":"8B82CA47-41D2-D624-D6A2-37177CD82F28",
        "rotation":0,
        "type":"MyImage",
        "width":258,
        "depth":3,
        "height":163,
        "xpos":214
    },
    {
        "color":"0",
        "ypos":468.38,
        "fontSize":28,
        "xpos":156.95,
        "rotation":0,
        "type":"MyTextArea",
        "width":268.05,
        "depth":7,
        "height":244.62,
        "fontFamily":"Verdana Bold",
        "template":"8B82CA47-41D2-D624-D6A2-37177CD82F28"
    }
]';
//create a DB connection
con = mysql_connect("localhost","username","password");
mysql_connect _db('your_database',$con);


$result = json_decode($json);
foreach($result as $key => $value) {
    if($value) {

            //how to use json array to insert data in Database
        mysql_query("INSERT INTO tablename (source, ypos, template) VALUES ($value->source, $value->ypos,$value->template)");
    }
    mysql_close($con);
}

注意:但是推荐使用PHP Data Objects(PDO)来进行数据库操作。 检查here

关于php - 将 JSON 解析为 mySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11257694/

相关文章:

php - 推送通知 (iPhone) 给出 "111 Connection refused"

php - 插入数据库表时发出通知声音

mysql - 使用 NOW 更新 MYSQL 上的列无法正常工作

java - spring mvc、ajax中客户端发送的请求语法错误

javascript - 如何仅从 Nodejs 中的数据库列值返回值

php - mysqli_result 好像没有实现 Iterator 接口(interface)

php - 去除特定路由的Csrf验证

php - 将 Laravel phpunit 测试绑定(bind)到路由

c# - 将 MySQL 密码存储为哈希值

javascript - 如何从 php 返回的 JSON 中检索值