我的朋友有这个问题:
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__);
}
但是他知道这个数据库错误:
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 :(得分:0)
这意味着您尝试将 0 作为键值插入数据库,这可能是主键,辅助键或唯一键约束
检查您要插入的主键的值,如果不是编程错误,请尝试更改您的AUTO_INCREMENT
希望这有帮助,不要犹豫,再问一些问题=)
答案 1 :(得分:0)
您有一个没有自动增量的主键字段,但您没有在查询中提供值。
可能类似于“topicmessageid”
所以在该字段中添加一个自动增量。