首页 > 解决方案 > 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());
    }
}

标签: phpmysqljsoninsert

解决方案


使id 独一无二。然后只有重复查询获得角色。如果该字段中的值已经存在,则该字段将被更新。


推荐阅读