medoo框架如何将JSON插入到数据库?

发布于 2022-09-01 22:57:56 字数 713 浏览 23 评论 0

刚开始学习PHP,medoo的文档insert中提到的插入多条数据:

$last_user_id = $database->insert("account", [
    [
        "user_name" => "foo",
        "email" => "foo@bar.com",
        "age" => 25,
        "city" => "New York",
        "(JSON) lang" => ["en", "fr", "jp", "cn"]
    ],
    [
        "user_name" => "bar",
        "email" => "bar@foo.com",
        "age" => 14,
        "city" => "Hong Kong",
        "(JSON) lang" => ["en", "jp", "cn"]
    ]
]);

请教大神,该如何将post来的数据插入到数据库?能不能给个简单的DEMO?万分感谢!
post来的数据大致如下:

{
    "name" : "xiaoming",
    "age" : 20
},
{
    "name" : "lihong",
    "age" : 25
}

我自己尝试了好多次,都没成功,希望大神能解答,谢谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

随波逐流 2022-09-08 22:57:56

如果不是表单提交,也就是说 request header 的 content-type 不等于 application/x-www-form-urlencoded 或者 multipart/form-data 的话,PHP 是没办法自动解析你传递过来的数据并赋值到 $_POST 去的。这个时候你需要使用 php://input 获取所有传递过来的内容并手动解析数据。

假设你传过来的数据是:

[
    {"name": "xiaoming", "age": 20},
    {"name": "lihong", "age": 25}
]

那么你可以这么写:

$_POST = json_decode( file_get_contents('php://input'), true);
$last_user_id = $database->insert("account", $_POST);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文