cURL检索json数据并从url存储在mysql数据库中

问题描述

我在 cURL 中遇到问题。在这里,我可以从另一个源代码获取json数据,我也有一些想法。但实际上我无法将json数据保存到我自己的sql数据库服务器中。我想从中检索数据

url:https://jamuna.tv/wp-json/wp/v2/posts

并想保存到我的服务器(mysql)中。

这是我要保存在mysql服务器中的$ url json数据:

id
date
link
title
content
author
categories
wp:attachment

,我想将它们保存到mysql数据库中。我的表名是“新闻”,我想将它们保存到我的表列中。

id [id]
title [title]
description [content]
date [date]
category [categories]
thumbnail [wp:attachment]
admin [author]

在这里,我从url标记json并替换为我的sql列名称。如果有人可以给我有关如何从用户获取数据并将其保存到mysql中的说明。

感谢前进。

解决方法

PHP可以实现您所需的实现。您必须检查值是否有效或数组成员是否存在。这只是您的示例的原始实现。

<!DOCTYPE html>
<html>
<body>

<?php

// db connection
$options = array(
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
);

$db = new PDO('mysql:host=localhost;dbname=test;','user','pass',$options);

// download json from url
$json = file_get_contents('https://jamuna.tv/wp-json/wp/v2/posts');

echo '<br/>';

$sql = "INSERT INTO `mytable` (`id`,`title`,`description`,`date`,`category`,`thumbnail`,`admin`)
                      VALUES (:id,:title,:content,:date,:categories,:attachment,:author)";
$stm = $db->prepare($sql);

// parse JSON
$arr = json_decode($json,true);
$i = 0;

foreach ($arr as $record) {

    echo "==================Insert record " . $i ++ . "<br>";

    $data = array(
        ':id' => $record['id'],':title' => $record['title']['rendered'],':content' => $record['content']['rendered'],':date' => $record['date'],':categories' => $record['categories'][0],':attachment' => $record['_links']['wp:attachment'][0]['href'],':author' => $record['author']
    );

    var_dump($data);
    // inserting a record
    $stm->execute($data);
}
?>

</body>
</html>

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...