我使用下面的代码通过PHP curl函数从其他网站获取数据。一切正常,但是当网站将重新加载或刷新时,我将重复的数据存入数据库中。
duplicate data screenshot

如果数据已经存在于Mysql数据库中,是否有任何基于以下代码的原因为何停止在重装时插入重复数据?我在Google上搜索有关此问题的信息,但未获得任何有用的信息。

if(isset($_POST['url'],$_POST['theme'])){

    $db = new Mysqli("localhost" , "iamniloy_wp###" , "(5uSE6[3OP" , "iamniloy_#@");

    $url = $db->real_escape_string($_POST['url']);
    $theme = $db->real_escape_string($_POST['theme']);


    $query = "INSERT INTO twist_data ( url,theme ) VALUES ('$url','$theme')";
    $db->query($query);

    }

最佳答案

如果由于某种原因无法添加唯一索引,则可以使用EXISTS检查已存在的记录:

INSERT INTO twist_data (url, theme)
SELECT * FROM (SELECT '$url','$theme') AS tmp
WHERE NOT EXISTS (
    SELECT * FROM twist_data WHERE url = '$url' AND theme = '$theme'
)

关于php - MySQL如果数据存在,则不再插入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42262784/

10-14 17:29
查看更多