1 回答
TA贡献1829条经验 获得超7个赞
这是一个演示。我在 MySQL 的测试模式中创建了一个表:
mysql> use test;
mysql> create table mytable (name varchar(20), eur numeric(9,2), e numeric(9,2));
我编写了一些 PHP 以使用json_decode()将 JSON 解码为关联数组,然后使用键和值插入到我创建的 MySQL 表中。
<?php
$pdo = new PDO('mysql:host=127.0.0.1;dbname=test', 'root', 'xxxx');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$data = '{"firstname":{"eur":14.27,"e":0.00612979},"lastname":{"eur":0.18709,"e":2.655e-05},"middlename":{"eur":617.26,"e":1.0}}';
$sql = "INSERT INTO mytable (name, eur, e) VALUES (?, ?, ?)";
$stmt = $pdo->prepare($sql);
foreach(json_decode($data, true) as $name => $values) {
$stmt->execute([$name, $values['eur'], $values['e']]);
}
我在我的 bash 命令行中运行了 PHP。
php json-demo.php
下面是显示结果的 SQL 查询:
mysql> select * from mytable;
+------------+--------+------+
| name | eur | e |
+------------+--------+------+
| firstname | 14.27 | 0.01 |
| lastname | 0.19 | 0.00 |
| middlename | 617.26 | 1.00 |
+------------+--------+------+
对于它的价值,您显示的 JSON 示例不是 JSON 数组,它是一个 JSON 对象。
花括号内的键/值{ }对使它成为一个对象。
数组是方括号内以逗号分隔的列表[ ]。
- 1 回答
- 0 关注
- 177 浏览
添加回答
举报