mysql php aynı kayıtların Çoklu sokulmasını önlemek için nasıl

5 Cevap php

Ben onun php correctly.The ekleme dosya eklenen alıyorum ajax isteği ile adlandırılır php-mysql kullanarak tabloya bir değer ekleme duyuyorum. Benim sorunum benzersiz bir kavram kullanmadan bu durumu önlemek için .. Nasıl firefox sürümü bazı istek, bazı zamanlarda iki kez tetiklenir olduğunu ve kayıtların tabloda aynı verilerle 6times eklenir ...

5 Cevap

SQL kendisine söyleneni yapar gibi geliyor. Bu tekrar tekrar aynı veri ile sorguyu yürütmek değil size kalmış.

Eğer "firefox sürümünde bazı istek iki kez tetiklenir" belirtildiği gibi, bize yardım edebilmek için, sorun bu kod sonrası, istemci kodu büyük olasılıkla.

(Bu bir yorum olmalıydı ama ben rep puanlar çok düşük değilim.)

MySQL INSERT benzer ama sessizce çiftleri görmezden bir REPLACE komut sunuyor. Belgeler here.

jQuery size yardımcı olabilir kullanma (zaten değilseniz). Eğer kod çok erken jquery en $(document).ready() event ile inşa idam değil emin olabilirsiniz.

Eğer beklenenden daha fazla kez yapılıyor ise de, ajax arama tetikliyor ne bakmak. Ayrıca sorgu zaten teslim değildi emin olmak için bazı sunucu tarafı denetimi yapabilir.

Eğer bir dizin UNIQUE ile gitmek istemiyorum çünkü ...

... Ben sadece kayıt zaten varsa bakmak için ekleme önce tablosunu sorgulayarak benzer sorunları fark etti. Ben de bakmak up için bir zaman sınırı uygulanmaktadır.

Yani bu ben ne olduğunu:

  1. Tabloda insert için geçerli eğer ben verileri kontrol.
  2. Ben son 5 dakika içinde tüm girişleri ile sınırlı, masanın üzerinde bir seçme için, bu kesin verileri kullanabilirsiniz.
  3. Select döner bir sonuç varsa, aksi takdirde ben "dublicate girişi" olarak görmezden, tablodaki veri eklemek.

maybe using un duplicatable indexes in mySql db and for the browser you can use javascript to disable the submit button onclick so you will get only one click on it


ilk on kitap

╗ ╔ ═ ╦ ═ ═ ╦ ═ ═ ╦ ═ ╔

http://10book.tk

╝ ╩ ═ ╩ ╩ ═ ╩ ╩ ═ ╝ ╩ ╚