我有一个关于 JSON 和 MySQL 数据库的问题。
我想要的是我可以将 JSON 文件中的数据加载到数据库中的字段中。
我的 JSON 文件如下所示:
{
"wijken": {
"11": {
"id": "kml_1",
"fid": "0",
"wijziging": "Ja",
"nieuwnr": "11",
"naam": "Noordoost",
"wijk": "Kanaaldorpen en -zone",
"wijknr": "11",
"objectid": "1",
"area": "0",
"len": "0"
},
"12": {
"id": "kml_2",
"fid": "1",
"wijziging": "Ja",
"nieuwnr": "12",
"naam": "Noordoost",
"wijk": "Oostakker",
"wijknr": "12",
"objectid": "2",
"area": "0",
"len": "0"
}
}
}
我有一个数据库,其中包含一个带有字段的表“wijken”:
ID / FID / WIJZIGING / NIEUWNR / NAAM / WIJK / WIJKNR / OBJECTID /
AREA / LEN
现在我希望 json 文件中的所有数据都在该表中。 (php + javascript)
有人可以帮我开始吗? (或者提供一些好的搜索词的教程)
提前致谢!
首先你需要从文件系统加载文件
$json_string = file_get_contents('some/path/to/file.json');
然后可以使用json_decode
将json字符串转成php数组
$data = json_decode($json_string, true);
此时,您将能够使用 $data['wijken']
访问数据以进入 wijken 表。
为了将此数据插入 mysql 数据库,您将需要使用 php mysql 扩展之一,mysqli或 PDO .
我将在这个例子中使用 mysqli:
// first create a connection to your database
$mysqli = new mysqli('localhost', 'user', 'password', 'database_name');
// this insert query defines the table, and columns you want to update
$query = <<<SQL
INSERT INTO wijken ('ID', 'FID', 'WIJZIGING', 'NIEUWNR', 'NAAM', 'WIJK', 'WIJKNR', 'OBJECTID', 'AREA', 'LEN')
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
SQL;
$stmt = $mysqli->prepare($query);
// for each of the 'rows' of data in the json we parsed, we will insert each value
// into it's corresponding column in the database, and we are doing this using prepared
// statements.
foreach ($data['wijken'] as $key => $value) {
$stmt->bind_param(
// the types of the data we are about to insert: s = string, i = int
'sissssiiii',
$value['id'],
$value['fid'],
$value['wijziging'],
$value['nieuwnr'],
$value['naam'],
$value['wijk'],
$value['wijknr'],
$value['objectid'],
$value['area'],
$value['len']
);
$stmt->execute();
}
$stmt->close();
// close the connection to the database
$mysqli->close();