簡體   English   中英

使用解碼的 json 字符串插入新行

[英]insert a new row using decoded json string

$str是來自客戶端的 json 對象字符串
keys是列名
需要使用准備好的值插入新行 - 即對應的鍵值對
我該怎么辦 - 像這樣:

$str = {"fname":"lorem","sname":"ipsum","nick":"dolor"};

function btn_send($str){
    global $db;
    $obj = json_decode($str);
    $sq = "insert into members (...keys) values (...prepared_values)";
    $st = $db->prepare($sq);
    $st->execute([...]);
}
<?php


$str = '{"fname":"lorem","sname":"ipsum","nick":"dolor"}';

function btn_send($str){
    global $db;
    $data = json_decode($str,true);
    $column_names = "`". implode("`,`",array_keys($data)) . "`";
    $prepared_chars = implode(",",array_fill(0,count(array_values($data)),'?'));
    $sq = "insert into members ($column_names) values ($prepared_chars)";
    $st = $db->prepare($sq);
    $st->execute(array_values($data));
}

您可以使用 json 鍵來制作列名,並且有很多? 占位符與這些鍵的值一樣多。 在執行准備好的查詢時,您可以只提供值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM