亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何用json數組更新mysql?

如何用json數組更新mysql?

PHP
撒科打諢 2022-12-11 16:33:05
我想在我的服務器上進行 cron 作業以每 10 分鐘保存一次我的 json 數組(我想每 10 分鐘更新一次 mysql 表)問題是我真的有 nasted 數組,如果沒有你的幫助,我現在很難獨自保存!這是 json 數組:{"firstname":{"eur":14.27,"e":0.00612979},"lastname":{"eur":0.18709,"e":2.655e-05},"middlename":{"eur":617.26,"e":1.0}}我的表包含以下行:名稱(這是示例的名稱-> 名字)所以我想更新行,其中表名稱值與我的示例中的“名字”或“姓氏”或“中間名”相同。我還有兩行包含“eur”和“e”行。我必須將 json 數組中的值輸入到示例中的同一行。我知道它不好解釋了我想要什么所以我會嘗試更好的。在我的 SQL 中,我有幾行:(名稱已經寫入且必須保持不變)名稱 - EUR - E我想每 10 分鐘更新一次 EUR 和 E 的值,其中來自 sql 的名稱與數組數據中的名稱相同。這是我不工作的 PHP 代碼:$filename = "JSON-FILE-LINK";$data = file_get_contents($filename);  echo $data;非常感謝社區!編輯:我打賭 sql 代碼一定是這樣的:UPDATE names SET eur = $eur, e = $e, ... WHERE name = $firstname。Firstname 是每個對象的名字。而 eur 和 e 是唯一必須更改的值。如何將json數據填充到sql變量是我現在最大的問題。
查看完整描述

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 對象。


花括號內的鍵/值{ }對使它成為一個對象。


數組是方括號內以逗號分隔的列表[ ]。


查看完整回答
反對 回復 2022-12-11
  • 1 回答
  • 0 關注
  • 197 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號