2012-11-26 77 views
0

这是我的代码: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可有人告诉我为什么?

inserted消息真的到来100次。但数据不是插入100次,而是插入数据的地方只有30次。

+0

doesnot它取决于这个开放的XML文件? – doniyor

+0

您能否向我们展示表格模式? – ZeroOne

+0

检查您获得多少价值的循环 –

回答

2

夫妇的检查要点:

  1. 检查是否有$anzeigen_id .XML的XML文件存在于所有的ID。
  2. 看看你有UNIQUE密钥anzeige_idfirmen_id或任何这样的组合。

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

希望这会有所帮助。

+0

这是帮助我现在,让我进一步调试: D非常感谢 – doniyor

+0

我的错! phpmyadmin只显示了100个中的30个)))。抱歉!! – doniyor

+1

糟糕!发生在我们每个人:)。 –