Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP检查数据库中XML文件中的值_Php_Xml - Fatal编程技术网

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

PHP检查数据库中XML文件中的值,php,xml,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

我在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','....')");
        }
    }
}
?>
$value){
如果($key=='special\u numer'){
$sql=$db->loadArray(“从表中选择电子邮件,其中特殊值=$value”);
//如果未找到任何内容,请插入新数据。
if(空($sql)){
$insert_data=$db->insertData(“插入表(特殊数字、标题、内容)值(“$key”、“$value”、“…”));
}
}
}
?>
这种功能的缺点是给数据库带来了沉重的负担

<?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
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','....')");
        }
    }
}
?>

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

使用
插入忽略

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','....')");
    }
}
特殊\u numer
必须是主键或唯一键