拆分 .serialize() 的输出,并为每个拆分的部分创建一个插入语句


Split output of .serialize() and create an insert statement for every splitted part

我有 3 个表和一个来自 .serialize() 的输出字符串。

表1:

parameter (parameterid, parametername)

表 2:

parametervalue (parametervalueid, parameterid_fk, appid_fk, parametervalue)

表 3:

app (appid, ..., ...)

.serialize()输出:

4=Test&6=This is a test&9=19&15=Bla Bla Bla&appid=19746
4 = parameterid, Test=parametervalue, appid=19746

对于序列化输出的每个"部分",我想做一个INSERT语句,它将parameteridappidparametervalue添加到表parametervalue中。如何拆分并动态添加?"拆分"应该使用 PHP 完成。

使用 parse_str()

$str = '4=Test&6=This is a test&9=19&15=Bla Bla Bla&appid=19746';
$result = array();
parse_str($str, $result);
print_r($result);

输出:

Array
(
    [4] => Test
    [6] => This is a test
    [9] => 19
    [15] => Bla Bla Bla
    [appid] => 19746
)

现在,要执行INSERT,您可以遍历拆分数组:

foreach ($result as $part) {
    // do the INSERT
}

演示!