PHP / Mysql - 检查DB中的现有条目

时间:2011-07-14 07:49:00

标签: php

我使用PHP解析一些XML,我从XML中的每个条目中获取3个细节 - 标题,描述和ID。

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

我该怎么做?

这会让我所有的ID都正确吗?

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

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

愿意接受想法?

这是否给了我一个数组,我可以将XML中的ID与?

进行比较

4 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

答案 2 :(得分:0)

我建议您让DBMS处理冲突的ID。

您可以使用INSERT的ON DUPLICATE选项来处理该事件,让您的数据库自动选择其他ID。

答案 3 :(得分:0)

  1. $id = mysql_query("SELECT 1 FROM updates where id = " . $entry->id);
    $row = mysql_fetch_assoc($id);
    if ($row[0]) {
     insert
    }
    else {
    }
  2. 如果uoy使该字段唯一,那么如果您只是尝试插入行 - db会出现错误“唯一约束”。在这种情况下,您只需要检查记录是否唯一。无论如何都不会插入。