PHP检查数据库中XML文件的值

时间:2018-02-15 08:46:12

标签: php xml

我在XML文件中有几个带有“特殊编号”的条目。

我必须在数据库中搜索这些值。

如果在数据库中找不到该号码,则该“特殊号码”和相关数据应存储在数据库中。

<?php
foreach($array_from_xml_file as $key => $value) {

    if($key === 'special_nummer'){

        $sql = $db->loadArray("SELECT email FROM table WHERE special_nummer = $value");

            // If nothing found insert new Data.

        if(empty($sql)){
            $insert_data = $db->insertData("INSERT INTO table (special_nummer, title, content) VALUES ('$key','$value','....')");
        }
    }
}
?>

这个功能的缺点给数据库带来了沉重的负担。

我的第二种方法

我将整个列中的“特殊数字”从数据库加载到XML文件或数组中。

查找数据库中没有的数字并创建新数组。将此数组保存到数据库。

我的问题:如何最有效率?

1 个答案:

答案 0 :(得分:1)

使用INSERT IGNORE

foreach($array_from_xml_file as $key => $value) {
    if($key === 'special_nummer'){
        $insert_data = $db->insertData("INSERT IGNORE INTO table (special_nummer, title, content) VALUES ('$key','$value','....')");
    }
}

special_nummer必须是主键或唯一