使用 php 在 5 秒内将数据保存到 MySQL [关闭]
Posted
技术标签:
【中文标题】使用 php 在 5 秒内将数据保存到 MySQL [关闭]【英文标题】:Saving data to MySQL in 5 seconds with php [closed] 【发布时间】:2018-09-08 09:47:45 【问题描述】:有来自电话交换机的数据,数据自带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;
【问题讨论】:
你有什么问题? 【参考方案1】:您可以使用 cron 作业,它会每 5 秒运行一次脚本
有关 cron 作业的更多信息,您可以查看https://kb.iweb.com/hc/en-us/articles/230244168-Setting-up-cron-jobs-with-cPanel
重要的是,您应该检查数据库中是否存在记录,然后插入数据库中。例如,您的文件中有 1,2,3 条记录用于 $json.. 现在这 3 条记录将是插入数据库。 5 秒后,如果再添加 2 条记录...现在 $json 总共有 5 条记录,在这 5 条中,前 3 条已经在 5 秒之前插入到数据库中。所以您需要检查前 3 条记录是否已经在数据库中,所以只应插入第 4 和第 5 条记录...否则您将获得前 3 条 + 新 5 条(包括前 3 条)记录 = 数据库中的 8 条重复行记录...
【讨论】:
以上是关于使用 php 在 5 秒内将数据保存到 MySQL [关闭]的主要内容,如果未能解决你的问题,请参考以下文章