【问题标题】:sql insert - breaking mysteriouslysql插入 - 神秘地打破
【发布时间】:2012-11-26 11:27:21
【问题描述】:

这是我的代码:

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

【问题讨论】:

  • 不依赖这个打开的xml文件吗?
  • 能否请您也向我们展示一下表架构?
  • 检查你在 for 循环的 $value 中获得了多少值
  • inserted 消息来了 100 次,这意味着价值真的如我所愿地来了 100 次

标签: php mysql sql insert


【解决方案1】:

几个检查点:

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

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

希望这会有所帮助。

【讨论】:

  • 我的坏! phpmyadmin 只显示了 100 个中的 30 个 :)))。对不起!!
  • 糟糕!发生在我们每个人身上:)。
猜你喜欢
  • 2011-04-01
  • 1970-01-01
  • 2015-11-17
  • 2012-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多