gpt4 book ai didi

php - 所以我有一个 json 文件如何将它插入到 mysql 中?

转载 作者:行者123 更新时间:2023-11-29 22:14:13 25 4
gpt4 key购买 nike

我正在寻找一个 php 脚本来每小时从 json 文件更新 mysql。

API 是这样的

http://backpack.tf/api/IGetMarketPrices/v1/?key=51f7eb704bd7b8231900000c&appid=730&format=json

我如何从 json 复制这些东西并将它们放入 mysql 中?

我的意思是类似的事情

"AK-47 | Aquamarine Revenge (Battle-Scarred)": {
"last_updated": 1436569230,
"quantity": 34,
"value": 2268
},

"AK-47 | Aquamarine Revenge (Factory New)": {
"last_updated": 1436569230,
"quantity": 21,
"value": 9386
},
"AK-47 | Aquamarine Revenge (Field-Tested)": {
"last_updated": 1436569230,
"quantity": 55,
"value": 4968
},
"AK-47 | Aquamarine Revenge (Minimal Wear)": {
"last_updated": 1436569230,
"quantity": 40,
"value": 6018
},
"AK-47 | Aquamarine Revenge (Well-Worn)": {
"last_updated": 1436569230,
"quantity": 40,
"value": 3597
},
"AK-47 | Black Laminate (Battle-Scarred)": {
"last_updated": 1436569230,
"quantity": 50,
"value": 345
},
"AK-47 | Black Laminate (Factory New)": {
"last_updated": 1436569230,
"quantity": 8,
"value": 8593
},
"AK-47 | Black Laminate (Field-Tested)": {
"last_updated": 1436569230,
"quantity": 141,
"value": 308
},

我希望它像那样进入mysql

enter image description here

这是我到目前为止所得到的:

<?php

$json = file_get_contents('http://backpack.tf/api/IGetMarketPrices/v1/?key=51f7eb704bd7b8231900000c&appid=730&format=json');
$obj = json_decode($json,true);

//Database Connection
require_once 'db.php';

/* insert data into DB */
foreach($obj as $item) {
mysql_query("INSERT INTO `cyberst_CSGO`.`items` ( cost, lastupdate)
VALUES ('".$item['value']."'', '".$item['last_updated']."')");

}
//database connection close
mysql_close($con);

//}
?>

最佳答案

编辑:此代码生成一个临时制表符分隔文件,并使用LOAD DATA IN FILE将该文件插入数据库,然后删除该临时文件。

  1. 使用MySQLi - PHP 中现在已弃用 mysql 函数
  2. 编辑:成本 = 值(value) * 0.01
  3. 将大量数据加载到 MySQL 的最快方法是使用 LOAD DATA INFILE
  4. 我还没有测试过数据库导入,但我已经多次使用过这个方法并且效果很好。
  5. 您可能需要先使用 mysqli_real_escape_string()$conn->real_escape_string() 转义 $name $cost $row。我没有检查你的所有数据。

这是 PHP:

$json = file_get_contents('http://backpack.tf/api/IGetMarketPrices/v1/?key=51f7eb704bd7b8231900000c&appid=730&format=json');
$obj = json_decode($json,true);

//open a temporary file to hold data
$path = str_replace('\\','/',realpath(dirname(__FILE__)));
$filename = time().'tmp.csv';
$filename = $path.'/'.$filename;
$tmpfile = fopen($filename,'w+');

//data to loop through and write to temporary file
$loopme = $obj['response']['items'];

foreach($loopme as $name=>$row) {
//i'm guessing this is what cost is
$cost = $row['value'] * 0.01;
//write to our tmp file
fwrite($tmpfile,"$name\t$cost\t$row[last_updated]\n");
}

// this is the fastest way to load large amounts of data into MySQL
$sql = "LOAD DATA INFILE '$filename'
INTO TABLE `cyberst_CSGO`.`items`
FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n'";

//run your mysql query

//delete temporary file
unlink($filename);

关于php - 所以我有一个 json 文件如何将它插入到 mysql 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31351802/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com