php 调用接口保存数据到数据库

    require "com.php";
    $url="https://api.douban.com/v2/movie/in_theaters?count=15"; //接口
    function getHTTPS($url) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_REFERER, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
    }
    $getarray=getHTTPS($url);
    $obj=json_decode($getarray,true);
    $num=count($obj["subjects"]); //json数据
    
//    mysqli_query($mysqli,"delete from test"); //删除数据库
$result = mysqli_query($mysqli,"select * from test "); //查找全部数据
if(mysqli_num_rows($result)){
    
    for($i=0;$i<$num;$i++){
        
        $list_names[]=$obj["subjects"][$i]["original_title"];
        $list_age[]=$obj["subjects"][$i]["id"];
        $list_title[]=$obj["subjects"][$i]["title"];
        $list_max[]=$obj["subjects"][$i]["rating"]["average"];
        echo $list_max[$i]."--";
        $row=mysqli_query($mysqli,"select * from test where name='$list_names[$i]'");//查找是否存在
        $res=mysqli_num_rows($row);
            if($res>0){//存在更新
                mysqli_query($mysqli,"UPDATE test set age='$list_age[$i]',name='$list_names[$i]',time=now() where title='$list_title[$i]'");
                
            }else{//不存在插入
                $sql="insert into test (name,age,title,time) values ('$list_names[$i]','$list_age[$i]','$list_title[$i]',now())";
                if(mysqli_query($mysqli,$sql)){
                        
                    echo "插入成功 \n";
                }else{
                    echo "插入失败".$sql;
                }
            }
        
    }
    
}else{//第一次抓取没有数据就执行
    for($i=0;$i<$num;$i++){
        $list_names[]=$obj["subjects"][$i]["original_title"];
        $list_age[]=$obj["subjects"][$i]["id"];
        $list_title[]=$obj["subjects"][$i]["title"];
        $sql="insert into test (name,age,title,time) values ('$list_names[$i]','$list_age[$i]','$list_title[$i]',now())";
        if(mysqli_query($mysqli,$sql)){        
            echo "插入成功 \n";
        }else{
            echo "插入失败".$sql;
        }
    }
    
}
 

mysqli_close($mysqli)
?>

你可能感兴趣的:(php)