5分钟前将消息插入数据库的功能

时间:2019-02-27 15:30:04

标签: php codeigniter

好,所以当我发送消息时,它将消息插入数据库。 几分钟后,一个Webhook运行,并将同一条消息插入db

我只想插入一条消息,以便将这样的代码写入

$response = $this->messages_model->search_messages_five_mins_ago($recivernum,$msg);

if(!$response) {
    $newId = $this->Customer_m->insert_emaildata($add_email);
};

但是创建功能有问题。到目前为止,我有这个

public function search_messages_five_mins_ago($number,$msg)
{
$this->db->select('*');
$this->db->from('messages');
$this->db->where('receiver_num',$number);   
$this->db->where('content',$msg);
// and created_at betteen now() -10 mins and now 
$query = $this->db->get();
return $query->result_array();
}

如果不想在最近10分钟内插入邮件,我不想再次插入邮件

请提出任何想法,谢谢

1 个答案:

答案 0 :(得分:1)

简单的PHP可以拯救您,您只需要Testfile_20190226114536.CSV date来确定“ 10分钟前”是什么。

此外,我建议一种更好的方法来确定查询是否找到了某些东西:

strtotime

这将找到在“现在负10分钟”之后创建的匹配消息。如果未找到任何内容,则返回false;如果找到则返回消息。

在您的控制器中,我会使用

public function search_messages_five_mins_ago($number,$msg)
{
$this->db->select('*');
$this->db->from('messages');
$this->db->where('receiver_num',$number);   
$this->db->where('content',$msg);
$this->db->where('created_at >=', date('Y-m-d H:i:s',strtotime('Y-m-d H:i:s'."-10 minute")));

$query = $this->db->get();

if ($query->num_rows() == 0)
{
    // nothing found. You can do whatever you'd normally do
    return false;
}

else
{
    return $query->result_array();
}
相关问题