我 super 迷茫,一直在寻找。但正如标题所示,我正在尝试输入一个数组。 我的问题是如何将这个数组导入到数据库中?截至目前,使用当前脚本,它只导入第一条记录而不导入其余记录。在这里,我还能够在同一个数组中导入其他值,顺便说一句,这是一个 JSON 调用,它已经被解码了。
foreach ($output as $key => $value) {
if (isset($output[$key]["stats"]["damage_given"]["vehicle"])) {
$damage_given[$key] = $output[$key]["stats"]["damage_given"]["vehicle"];
foreach ($damage_given[$key] as $vehicle_name) {
$vehicle_dmg_id = $vehicle_name['id'];
$vehicle_dmg_name = $vehicle_name['name'];
$vehicle_dmg_value = $vehicle_name['value'];
$vehicle_dmg_faction_nc = $vehicle_name['faction']['nc'];
$vehicle_dmg_faction_tr = $vehicle_name['faction']['tr'];
$vehicle_dmg_faction_vs = $vehicle_name['faction']['vs'];
}
}
}
$add_dmg_veh = "INSERT INTO damage_given(character_number, vehicle_id,
vehicle_name, total_value, vehicle_faction_nc, vehicle_faction_tr,
vehicle_faction_vs) VALUES ('$character_id[$key]', '$vehicle_dmg_id',
'$vehicle_dmg_name','$vehicle_dmg_value', '$vehicle_dmg_faction_nc',
'$vehicle_dmg_faction_tr','$vehicle_dmg_faction_vs')";
最佳答案
虽然不建议将数组存储在数据库中,但您可以serialize()
将数组存储在数据库中。基本上,PHP 会将数组转换为特制的字符串,稍后可以对其进行解释。
Serialize将其存储在数据库中,unserialize当您将它从数据库中拉出时,它可以使用它
注意:我说的是不推荐序列化,因为那时你的数据库不在First Normal Form中,特别是因为您将非原子值存储在数据库中的特定条目内。对于这种情况,我建议创建一个单独的表来单独存储这些值,并使用外键将两个表链接在一起。
关于php - 将数组插入 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15462523/