如果有人能帮我解决将xml文件中的数据插入数据库的问题,我将不胜感激。我想在刷新页面后阻止在我的数据库中添加重复的行。这是我的代码:
public function getAll() {
$xml = new DOMDocument();
$xml->load('newXMLDocument.xml');
$xmldata = $xml->getElementsByTagName('book');
$xmlcount = $xmldata->length;
for($i=0; $i< $xmlcount; $i++){
$author = $xmldata->item($i)->getElementsByTagName('author')->item(0)->childNodes->item(0)->nodeValue;
$name = $xmldata->item($i)->getElementsByTagName('name')->item(0)->childNodes->item(0)->nodeValue;
try {
$statement = self::$db->prepare("INSERT INTO `books`( `Author`, `Name`) values( ?, ?) ");
$statement->bindParam(1, $id);
$statement->bindParam(2, $author);
$statement->bindParam(3, $name);
$statement->execute(array(
$author,
$name
));
} catch (PDOException $e) {
echo $e->getMessage();
}
}
}
答案 0 :(得分:0)
在for循环中,在插入数据之前,运行查询以在提交之前检查值是否存在,然后运行if语句以防止在存在行时插入查询
set