-
Üyelik
23.11.2017
-
Yaş/Cinsiyet
54 / E
-
Meslek
Grafik Tasarımcı / Coder
-
Konum
İstanbul Anadolu
-
Ad Soyad
S** B**
-
Mesajlar
101
-
Beğeniler
7 / 6
-
Ticaret
0, (%0)
Merhaba,
Mysql'de yeni kayıtta benzer kayıt olmasın diye satırı Unique(Benzersiz) yaptım. Sorunsuz çalışıyor. Fakat. tabi ki MySql hatası vererek.
Fatal error: Uncaught PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '.........
Ben bu hatayı kullanıcıya uyarı mesajı olarak verebilir miyim?
Mesela str_replace gibi yöntemle.
-
Üyelik
05.10.2018
-
Yaş/Cinsiyet
31 / K
-
Meslek
Freelance
-
Konum
Ordu
-
Ad Soyad
M** Ö**
-
Mesajlar
15
-
Beğeniler
3 / 4
-
Ticaret
0, (%0)
Sorgu kodlarını ekleyebilir misiniz
Front-end, Back-end Web Geliştirme - minedio.com
VipTema
Vip Tema Web Tasarım
Kullanıcı
-
Üyelik
29.06.2011
-
Yaş/Cinsiyet
37 / E
-
Meslek
Vip Tema Web Tasarım A.Ş.
-
Konum
Tekirdağ
-
Ad Soyad
Ö** I**
-
Mesajlar
1393
-
Beğeniler
704 / 703
-
Ticaret
21, (%100)
Hatayı çevirmek yerine eklenen verinin veri tabanında var mı yok mu önce buna bakarak kendi uyarını verdirebilirsin.
Basit bir if deyimiyle veri varsa uyari yoksa isleme devam et insert kısmı
-
Üyelik
03.04.2019
-
Yaş/Cinsiyet
29 / E
-
Meslek
.
-
Konum
Trabzon
-
Ad Soyad
A** K**
-
Mesajlar
905
-
Beğeniler
393 / 395
-
Ticaret
3, (%100)
try catch yapısı kurun, catch kısmında getMessage() metoduyla hata mesajını yakalayın, onun üzerinde işlem yapılması daha kolay olacaktır, çünkü daha kısa bir hata mesajı çıkar karşınıza
SQLSTATE[HY000] [1049] Unknown database 'sdf'
mesela bu böyle bir tablo bulunamadı hatası.
Sizin kodda da büyük ihtimalle şöyle bir hata mesajı çıkacaktır
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry
Sonra bu hatanın içinde bazı anahtar kelimelerin geçip geçmediğini kontrol ederek mesajı ona göre verebilirsiniz.
try {
//Burada veri tabanına kayıt etme işlemleri çalışsın
} catch (PDOException $e) {
if (stripos($e->getMessage(),'Duplicate entry')) {
echo 'Aynı kayıttan tekrar ekleyemezsiniz';
} else {
echo $e->getMessage();
}
}
1 kişi bu mesajı beğendi.