我想知道是否有人可以幫助我。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」編號那麼我不希望將該記錄添加到表格中,即忽略它。
我只是想知道是否有人可以看看這個請讓我知道我要去哪裏錯了。
非常感謝
顯示你的數據庫結構與索引 – user973254