阵列 0 => 排列 'categoryID'=>字符串'1'(长度= 1) 'category'=>字符串'餐馆'(长度= 11) 'subcategory'=>字符串'中文'(长度= 7)
'subcategoryID'=>字符串'12'(长度= 2)
如何在MYSQL中获取此数据。我已经尝试过JSON_Decode,但问题是我将"Array"
存储在MYSQL中而不是字符串中。
请帮忙。对不起,我是stackoverflow的新手。我跟随的是具有数据库结构的基本代码:
CategoryID Int(5),Category Var(254),Subcategory Var(254),SubCategoryID Int(5)。
以下是我使用的代码:
<?php
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("cp");
$alldate = '[{ "categoryID": "1", "category": "Restaurants", "subcategory": "Chinese", "subcategoryID": "12" }]';
$json = json_decode($alldate);
$i=0;
foreach ($json as $k1=>$v1) {
echo $i;
foreach($v1 as $k2=>$v2){
if ($k2 == 'categoryID')$vals['categoryID'][]=$v2;
if ($k2 == 'category')$vals['category'][]=$v2;
if ($k2 == 'subcategory')$vals['subcategory'][]=$v2;
if ($k2 == 'subcategoryID')$vals['subcategoryID'][]=$v2;
}
$insert_categoryID[]='Name:'.$vals['categoryID'][$i];
$insert_category[]= $vals['category'][$i];
$insert_subcategory[]= $vals['subcategory'][$i];
$insert_subcategoryID[]= $vals['subcategoryID'][$i];
}
print_r($insert_categoryID);
print_r($insert_category);
print_r($insert_subcategory);
print_r($insert_subcategoryID);
?>
感谢您的回答。我正在使用此处提供的解决方案进行检查
答案 0 :(得分:2)
在你的阵列上(例如$array
),你需要做一个foreach:
$array = json_decode($json);
$inserts = "";
$values = "";
foreach($array as $key => $value){
$inserts .= "'$key', ";
$values .= "'$value', ";
}
$inserts = substr($inserts,0,-2);
$values = substr($values,0,-2);
$query = mysql_query("INSERT INTO `table` (".$inserts.") VALUES (".$values.")")or die(mysql_error());
写盲,它应该有用
答案 1 :(得分:2)
尝试类似:
for($x=0; $x<count($arrayJson); $x++){
$sql = "Insert into TABLENAME (field1, field2) VALUES (".$arrayJson[$]['categoryID'].", '".$arrayJson[$]['category']."')";
}
假设你知道你的Json结构和数据库结构。
答案 2 :(得分:1)
Array
是因为它是一个数组。你必须把它放在那里
$decoded = json_decode($json);
$query = "INSERT INTO something VALUES ('".mysql_real_escape_string($json[0]['categoryID'])."','".mysql_real_escape_string($json[0]['category'])."','".mysql_real_escape_string($json[0]['subcategory'])."','".mysql_real_escape_string($json[0]['subcategoryID'])."')";