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

问题描述 投票:0回答:1

我在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文件或数组中。

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

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

php xml
1个回答
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必须是主键或独特的

© www.soinside.com 2019 - 2024. All rights reserved.