php - php mysql 从 json 插入/更新
问题描述
你好我有一个问题插入数据到mysql工作但我需要如果不存在数据创建如果存在更新所有行。现在在每次刷新页面后添加相同的数据但不更新。
$conn = mysql_connect("127.0.0.1", "root","") or die(mysql_error());
mysql_select_db("youtuberiai", $conn);
echo "Connected successfully <br /><br />";
$url = 'https://www.googleapis.com/youtube/v3/channels?id=ID&part=snippet%2Cstatistics&key=KEY';
$content = file_get_contents($url);
$json = json_decode($content, true);
foreach($json as $row);
foreach($json['items'] as $row)
{
$idd = $row['id'];
$title = $row['snippet']['title'];
$description = $row['snippet']['description'];
$viewCount = $row['statistics']['viewCount'];
$subscriberCount = $row['statistics']['subscriberCount'];
$sql = "INSERT INTO vartotojai(idd, title, description, viewCount, subscriberCount) VALUES('$idd', '$title','$description','$viewCount','$subscriberCount')
ON DUPLICATE KEY UPDATE idd='$idd', title='$title', description='$description', viewCount='$viewCount', subscriberCount='$subscriberCount';
";
mysql_query("SET NAMES utf8");
if(!mysql_query($sql,$conn))
{
die('Error : ' . mysql_error());
}
}
解决方案
使id 独一无二。然后只有重复查询获得角色。如果该字段中的值已经存在,则该字段将被更新。
推荐阅读
- java - 使用来自自定义 JR 数据源的数据创建图表
- html - 防止谷歌浏览器打破双引号并将括号打开到新行?
- jquery - jQuery:仅在您第一次进入网站时(或在硬刷新时)运行介绍类
- drake - 刚体工厂 - 状态与运动学和加速度
- java - 如何正确删除 Java 中复合布尔值中的冗余?
- java - for循环内列表的空间复杂度是多少?
- android - 如果根 CA 在 Android 中过期会发生什么
- python - 数组中数字的Python总和,忽略特定数字的部分
- scala - 当没有 S 的隐式编码器可用时,如何获得编码器[Seq[S]]?
- visual-studio - Visual Studio 工具箱中的 Microsoft 报表查看器控件