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