0

私の友人はこのクエリを持っています:

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

それを修正する方法??

4

2 に答える 2

0

これは、キー値として0を使用してデータベースにレコードを挿入しようとしていることを意味します。これは、主キー、副キー、または一意の制約である可能性があります。

挿入している主キーの値を確認してください。プログラミング エラーでない場合は、AUTO_INCREMENT を変更してみてください。

これがお役に立てば幸いです。さらに質問することを躊躇しないでください =)

于 2013-04-24T13:24:39.223 に答える
0

クエリで値を指定していない自動インクリメントのない主キー フィールドがあります。

おそらく「topicmessageid」のようなもの

そのフィールドに自動インクリメントを追加します。

于 2013-04-24T13:25:39.083 に答える