这是我的代码:
echo "total row anzahl: " . mysql_num_rows($new_entries) . "<br />"; //=>100
//for each row..
while ($row = mysql_fetch_array($new_entries)){
$anzeigen_id = $row[0]; //text
$firma_id = $row[1]; //firma_id
//XML reading
$xml_filename = "xml/".$anzeigen_id.".xml";
$dom = new DOMDocument();
$dom->load($xml_filename);
$value = $dom->getElementsByTagName('FormattedPositionDescription');
foreach($value as $v){
$text = $v->getElementsByTagName('Value');
foreach($text as $t){
$anzeige_txt = $t->nodeValue;
$anzeige_txt = utf8_decode($anzeige_txt);
$sql = "INSERT INTO joinvision_anzeige (`firmen_id`,`anzeige_id`,`anzeige_txt`) VALUES ('$firma_id','$anzeigen_id','$anzeige_txt')";
$sql_inserted = mysql_query($sql);
echo "inserted<br />";
}
}
}
$new_entries
实际上是 100,这意味着我应该能够一次插入 100 个项目,但它只添加了 30 个。有人可以告诉我为什么吗?
插入
消息确实出现了 100 次。但数据不是插入了 100 次,而是只插入了 30 次,在某个地方它就被破坏了。
最佳答案
几个检查点:
- 检查所有 ID 是否都存在带有
$anzeigen_id
.xml 的 xml 文件。 - 查看
anzeige_id
或firmen_id
或任何此类组合上是否有UNIQUE
键。
如果两者都不是问题,您可以回显所有节点值并查看它们是否获得正确的值。
希望这有帮助。
关于php - sql insert - 神秘地破坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13563884/