2011-10-21 37 views
0

我想知道是否有人可以幫助我。INSERT IGNORE在mySQL

我想把一個PHP腳本放在一起,該腳本從xml文件獲取數據並將數據放入mySQL數據中。我已經爲此工作了幾天,而且我似乎仍然無法做到這一點。

這是我已經成功地拼湊代碼:

<? 

     $objDOM = new DOMDocument(); 
     $objDOM->load("xmlfile.xml"); 

     $Details = $objDOM->getElementsByTagName("Details"); 

     foreach($Details as $value) 
     { 

     $listentry = $value->getElementsByTagName("listentry"); 
     $listentrys = $listentry->item(0)->nodeValue; 

     $sitetype = $value->getElementsByTagName("sitetype"); 
     $sitetypes = $sitetype->item(0)->nodeValue; 

     $sitedescription = $value->getElementsByTagName("sitedescription"); 
     $sitedescriptions = $sitedescription->item(0)->nodeValue; 

     $siteosgb36lat = $value->getElementsByTagName("siteosgb36lat"); 
     $siteosgb36lats = $siteosgb36lat->item(0)->nodeValue; 

     $siteosgb36lon = $value->getElementsByTagName("siteosgb36lon"); 
     $siteosgb36lons = $siteosgb36lon->item(0)->nodeValue; 

     //echo "$listentrys :: $sitetypes :: $sitedescriptions :: $siteosgb36lats ::   $siteosgb36lons <br>"; 


     } 

    require("phpfile.php"); 

    //Opens a connection to a MySQL server 
    $connection = mysql_connect ("hostname", $username, $password); 
    if (!$connection) { 
    die('Not connected : ' . mysql_error()); 
    } 

    // Set the active MySQL database 
    $db_selected = mysql_select_db($database, $connection); 
    if (!$db_selected) { 
    die ('Can\'t use db : ' . mysql_error()); 
    } 

    mysql_query("INSERT IGNORE INTO scheduledsites (listentry, sitetype, sitedescription, siteosgb36lat, siteosgb36lon) VALUES('$listentrys','$sitetypes','$sitedescriptions','$siteosgb36lats','$siteosgb36lons') ") 
or die(mysql_error()); 


    echo "Data Inserted!"; 


?> 

我可以拉從XML文件中的數據,但它是將數據發送到我的數據庫表中的腳本的一部分我遇到了麻煩。

腳本運行但只有最後一條記錄保存到數據庫。

我可以解析xml文件中的字段而不會出現任何問題,並且我試圖放置的檢查是,如果在與表中已有的數據匹配的新數據中存在「listentry」編號那麼我不希望將該記錄添加到表格中,即忽略它。

我只是想知道是否有人可以看看這個請讓我知道我要去哪裏錯了。

非常感謝

+0

顯示你的數據庫結構與索引 – user973254

回答

2

你只叫mysql_query一次。所以它只會插入一行。

sql需要在循環中。

+0

嗨,非常感謝回覆我的文章。道歉我對這件事真的很陌生,請問您能否詳細說明我需要做些什麼?親切的問候 – IRHM

+0

嗨,解決它。那裏有一個愚蠢的時刻。親切的問候。 – IRHM