2013-04-24 57 views
0

我的朋友不输出数据有这个疑问:
数据库错误:在DATEBASE [重复条目 '0' 键1]

preg_match_all("#<description>(.*?)</description>#s",$Rss,$message); 
$count = count($message[0]); 
$message[0] = str_replace('<description><![CDATA[',' ',$message[0]); 
$message[0] = str_replace('</description>]]>',' ',$message[0]); 

for($i=0;$i<$count;$i++){  

$db->query("INSERT INTO ".prefix."topicmessage (message,forumid,catid) VALUES ('".$message[0][$i]."','".$MyRows['forumid']."','".forums('CATID',$MyRows['forumid'])."')",__file__,__line__); 

} 


但他QET该数据库错误:

DATABASE ERROR: can not output data in datebase [Duplicate entry '0' for key 1] in C:\AppServ\www\ala\Rss_Caller.php on line 57 

如何解决它?

+0

哪个这些列的是你的'topicmessage'表密钥?你要么需要验证它的独特插入行前,或(最好),你需要将它更改为自动增量。 – Blazemonger 2013-04-24 13:21:34

+0

你在'..“INSERT INTO” .PREFIX缺少'$'。“'? – Kermit 2013-04-24 13:22:35

+0

听起来有上一列的约束,我认为它的forumid,防止重复。更可能的则可能是。主键或任何 – 2013-04-24 13:25:07

回答

0

这意味着你想用插入一条记录到数据库作为键值,这可能是一个主键,辅助键或唯一约束。

检查所插入的主键,如果它不是一个编程错误,请尝试更改AUTO_INCREMENT

希望这会有所帮助,不要犹豫,继续提问的价值=)

+0

是的,我检查,并使其自动递增,它现在的工作,,感谢 – user2036850 2013-04-24 13:31:05

0

你有没有自动增量的主键字段,您没有在查询中给出值。

大概就像“topicmessageid”

所以自动增量添加到该领域。

+0

它现在的工作,,谢谢 – user2036850 2013-04-24 13:32:01

相关问题