PHP/Mysql-检查数据库中的现有条目

PHP/Mysql-检查数据库中的现有条目,php,Php,我使用PHP解析一些XML,我从XML中的每个条目中获取3个详细信息——标题、描述和ID ID是唯一的,我将ID与标题和描述一起存储在数据库中。我通过CRON运行解析脚本,所以为了防止重复,我想首先检查数据库,看看数据库中是否已经存在条目的ID 我该怎么做 这能帮我弄到所有的身份证对吗 $id = mysql_query("SELECT id FROM updates"); $row = mysql_fetch_assoc($id); if ($entry->id != $row

我使用PHP解析一些XML,我从XML中的每个条目中获取3个详细信息——标题、描述和ID

ID是唯一的,我将ID与标题和描述一起存储在数据库中。我通过CRON运行解析脚本,所以为了防止重复,我想首先检查数据库,看看数据库中是否已经存在条目的ID

我该怎么做

这能帮我弄到所有的身份证对吗

$id = mysql_query("SELECT id FROM updates");
$row = mysql_fetch_assoc($id);

    if ($entry->id != $row) {
        Insert
    } else {
        echo 'Duplicate';
    }
对想法持开放态度

这是否为我提供了一个可以将XML中的ID与之进行比较的数组

$id = mysql_query("SELECT id FROM updates");
$row = mysql_fetch_assoc($id);

    if ($entry->id != $row['id']) {
        Insert
    } else {
        echo 'Duplicate';
    }

它返回数组形式,因此您必须给它列索引或名称以匹配

尝试使用。

我建议您让DBMS处理冲突ID

您可以使用INSERT选项来处理该事件,让您的DB自动选择另一个ID

如果uoy使字段唯一,那么如果您只是尝试插入row-db ROSE,则会出现一个error unique约束。在这种情况下,您不必检查记录是否唯一。无论如何都不会插入它


这似乎是获取一行,我想检查多行的ID出现情况。我如何扩展上面的内容来实现这一点? $id = mysql_query("SELECT 1 FROM updates where id = " . $entry->id); $row = mysql_fetch_assoc($id); if ($row[0]) { insert } else { }