Re: phpbb论坛发贴时,sql语句写入文本文件
  3,编辑帖子后的备份文件中的代码在恢复时会提示数据行已存在,不能插入数据
[quote]#1062 - Duplicate entry '5261' for key 'PRIMARY'[/quote]
简单解决:备份语句前添加删除topic表中,当前要插入的行数据
[code]fwrite($fd, "delete from 'phpbb'.'phpbb_topic' where 'phpbb_topics'.'topic_id'=".$data['topic_id'].";\n"); [/code]
post表中的数据
[code] fwrite($fd, "delete from 'phpbb'.'phpbb_posts' where 'phpbb_posts'.'post_id'=".$data['post_id'].";\n");[/code]
缺点:会因为许多重复数据增大备份文件。
其他解决思路:判断编辑帖子时,SQL语句不插入bak_topic.txt文件,使用UPDATA语句更新topics表和post表中的数据。