用php在5秒内将数据保存到mysql

xsuvu9jc  于 2021-06-19  发布在  Mysql
关注(0)|答案(1)|浏览(386)

关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。

两年前关门了。
改进这个问题
有来自电话交换机的数据,数据来自json
资料来源:https://github.com/verimor/bulutsantralim-api/blob/master/cdrs.md
这里没有问题。
之后,我想通过每5秒钟检查一次从这里得到的数据来注册数据库。
json内容是不断更新的,因为它是不断搜索的。
我在等你的帮助,非常感谢。
我很抱歉我的英语不好。
测试代码:

$json = file_get_contents('http://api.bulutsantralim.com/cdrs?key=K12345678-1234-5678-4321-123456789012');

$data = json_decode($json,true);

echo $data['cdrs'][0]['start_stamp'];
echo '-';
echo $data['cdrs'][0]['direction'];
echo '-';
echo  $data['cdrs'][0]['caller_id_number'];
echo '-';
echo  $data['cdrs'][0]['caller_id_number'];
echo '-';
echo $data['cdrs'][0]['destination_number'];
echo '-';
echo $data['cdrs'][0]['result'];
echo '-';
echo substr($data['cdrs'][0]['end_stamp'],0,10);

mysql插入代码:

$sql = "INSERT INTO talep (test)  VALUES ('$test')";

if ($conn->query($sql) === TRUE) {
    echo 'Success';
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}
kb5ga3dv

kb5ga3dv1#

您可以使用cron作业,它将运行脚本revery 5秒
有关cron job的更多信息,您可以查看https://kb.iweb.com/hc/en-us/articles/230244168-setting-up-cron-jobs-with-cpanel
重要的是,您应该检查记录是否存在于数据库中,然后插入到数据库中。。例如,您的文件中有1,2,3条记录用于$json。。现在这3条记录将被插入到dsatabase中。5秒后,如果再添加2条记录。。。现在$json总共有5条记录,在这5条记录中,前3条已经插入到数据库5 seconda中。。所以您需要检查前3条记录是否已经在数据库中,所以只应插入第4和第5条记录。。。另一方面,你会得到以前的3+新的5(包括前3)记录=8记录在数据库中的重复行。。。

相关问题