0

これは私のコードです:

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回しか挿入されておらず、どこかで壊れています。

4

1 に答える 1

2

チェックポイントのカップル:

  1. $anzeigen_idすべてのIDに.xmlを含むxmlファイルが存在するかどうかを確認します。
  2. UNIQUEキーがあるanzeige_idfirmen_idどうか、またはそのような組み合わせがあるかどうかを確認してください。

両方が問題ではない場合は、すべてのnodeValueをエコーし​​て、適切な値を取得しているかどうかを確認できます。

お役に立てれば。

于 2012-11-26T11:38:16.367 に答える