-
Üyelik
23.11.2017
-
Yaş/Cinsiyet
53 / 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
30 / 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
Okanisik
Vip Tema Web Tasarım A.Ş.
Kullanıcı
-
Üyelik
29.06.2011
-
Yaş/Cinsiyet
37 / E
-
Meslek
Vip Tema Web Tasarım A.Ş.
-
Konum
Tekirdağ
-
Ad Soyad
Ö** I**
-
Mesajlar
1381
-
Beğeniler
703 / 702
-
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ı
Vip Tema Web Tasarım A.Ş.
-
Ü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.