1

フォーム送信に重複するエントリを挿入しないように、mysqlデータベース行に一意のキーを設定しています。これは問題なく機能しますが、重複するエントリがある場合、ページは読み込まれません。代わりに、ユーザーは警告を受け取ります。Duplicate entry ''' for key ''

行の一意のキーを使用しながら、重複するキーがある場合でも、そのエラーをオフにしてページをロードするにはどうすればよいですか?エラーレポートをオフに設定してみましたが、うまくいきませんでした。

mysql_query("INSERT INTO user
(formemail,UserIP,Timestamp,LP) VALUES('$email','$userip',NOW(),'$lp') ") 
or die(mysql_error());
4

1 に答える 1

5

INSERT ... ON DUPLICATE KEY UPDATE構文を使用するようにSQL挿入を変更して、最初からエラーが生成されないようにする必要があります。

症状を隠そうとせず、問題を治療してください。

また、mysqlライブラリは非推奨であり、新しいコードには使用しないでください。少なくともmysqliまたはできればPDOを使用する必要があります。学習に興味がある場合は、ここにPDOに関する優れたチュートリアルがあります。

于 2012-05-10T17:07:08.147 に答える