更新时间:2021-09-10 03:35:09
您的桌子怎么样?您是否要根据JSON数据构建SQL查询字符串?在下面的代码中,有许多假设可能符合或不符合您的意图,但仍然对初学者有效:
How is your table? Do you wish to build an SQL Query String from the JSON Data? In the Code below, there are a lot of assumptions which may or may not fit with your intentions but still are valid for starters:
<?php
$jsonData = '[
{
"empid" : 805475,
"personal" : {
"name" : "ABC",
"gender" : "Male",
"age" : 28,
"address" : {
"streetaddress" : "Subhash Nagar",
"city" : "Agra",
"state" : "Uttarpradesh",
"postalcode" : 209111
}
},
"profile": {
"designation" : "Coder",
"department" : " Software dev."
}
},
{
"empid" : 814475,
"personal" :{
"name" : "PQR",
"gender" : "Male",
"age" : 18,
"address" : {
"streetaddress" : "Subhash Nagar",
"city" : "Delhi",
"state" : "Delhi",
"postalcode" : 110022
}
},
"profile" :{
"designation" : "Coder",
"department" : " Software dev."
}
},
{
"empid" : 805795,
"personal" : {
"name" : "MNP",
"gender" : "Male",
"age" : 38,
"address" : {
"streetaddress":"Subhash Nagar",
"city" : "Meerut",
"state" : "Uttarpradesh",
"postalcode" : 209111
}
},
"profile" :{
"designation" : "Coder",
"department" : " Software dev."
}
},
{
"empid" :805197,
"personal" : {
"name" : "AMN",
"gender" : "Male",
"age" : 29,
"address" : {
"streetaddress" : "Subhash Nagar",
"city" : "Mathura",
"state" : "Uttarpradesh",
"postalcode" : 546125
}
},
"profile" : {
"designation" : "Coder",
"department" : " Software dev."
}
}
]';
// WE ASSUME YOUR TABLE-NAME IS my_table JUST FOR DEMONSTRATION:
$tblName = "`my_table`";
// CONVERT JSON DATA TO NATIVE PHP OBJECT
$objJson = json_decode($jsonData);
// CREATE A VARIABLE TO HOLD THE SQL (QUERY STRING)
$arrSQL = array();
foreach ($objJson as $key => $data) {
$tmpSQL = "INSERT INTO " . $tblName . "(empid, name, gender, age, streetaddress, city, state, postalcode, designation, department)";
$tmpSQL .= " VALUES('{$data->empid}', '{$data->personal->name}', '{$data->personal->gender}', '{$data->personal->age}', ";
$tmpSQL .= "'{$data->personal->address->streetaddress}', '{$data->personal->address->city}', '{$data->personal->address->state}', '{$data->personal->address->postalcode}', ";
$tmpSQL .= "'{$data->profile->designation}', '{$data->profile->department}' )";
$arrSQL[] = $tmpSQL;
}
// NOW YOU CAN JUST USE IMPLODE TO CREATE THE STRING EQUIVALENT OF THE SQL QUERY:
$strSQL = implode(";\n\n", $arrSQL);
var_dump($arrSQL);
var_dump($strSQL);
对其进行测试此处.