php - sql insert - 神秘地破坏

标签 php mysql sql insert

这是我的代码:

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 次,在某个地方它就被破坏了。

最佳答案

几个检查点:

  1. 检查所有 ID 是否都存在带有 $anzeigen_id.xml 的 xml 文件。
  2. 查看 anzeige_idfirmen_id 或任何此类组合上是否有 UNIQUE 键。

如果两者都不是问题,您可以回显所有节点值并查看它们是否获得正确的值。

希望这有帮助。

关于php - sql insert - 神秘地破坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13563884/

相关文章:

php - 我应该如何处理消息 "Deprecated: Function eregi() is deprecated..."?

php - 允许用户修改链接工具栏(更改顺序、添加、删除)的最佳方法

php - 可编辑,PHP + MySQL

mysql - SQL Server Migration Assistant (SSMA) - 它会删除源数据吗?

sql - 我如何将这两者结合在一起? Varchar guid 和 guid 类型都是主键

mysql - 如何比较mysql的大表

php - 传递查询字符串时无法定位 Controller

MySQL ORDER BY 字母然后数字

sql - 使用拥有规则的多个分隔符(和 - )拆分 sql 中的数据

php - 带有可选子元素的xPath(如果存在则应返回)