lostyazilim
tr.link

mysql Hatası normal mesaja nasıl çeviririm.

5 Mesajlar 1.163 Okunma
lstbozum
tr.link

sufyani sufyani WM Aracı Kullanıcı
  • Ü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.
 

 

wmaraci
reklam

Chipetpet Chipetpet Mine Kullanıcı
  • Ü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 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ı
 

 

Abdullahx Abdullahx MW Aracı Kullanıcı
  • Ü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();
}
}

SancarSaran

kişi bu mesajı beğendi.


wmaraci
wmaraci

sufyani sufyani WM Aracı Kullanıcı
  • Ü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)





kurum yetkilisi kayıt




















Öncelikle kurum kaydınızı yapınız ve kurum onayı alınız. KURUM KAYDI

Kurum kaydınızı aldınız ve size Kurum ID'si verilmiş ise kurum sorgulayınız. KURUM SORGULA





if ( isset( $_POST[ 'ekle' ] ) ) {
$adi = addslashes( $_POST[ 'adi' ] );
$sifre = sha1( $_POST[ 'sifre' ] );
$kid = addslashes( $_POST[ 'kurum_id' ] );
$kurum = addslashes( $_POST[ 'kurum' ] );
$brans = addslashes( $_POST[ 'brans' ] );
$dept = addslashes( $_POST[ 'dept' ] );
$cep = addslashes( $_POST[ 'ceptel' ] );
$email = addslashes( $_POST[ 'email' ] );
$onay = addslashes( $_POST[ 'onay' ] );
$kod = sha1(rand(0000000001,9999999999));
$sifir = sha1($_POST['sifirla']);

$sql = $db->query( "INSERT INTO yetkili(adi,sifre,kurum_id,kurum,brans,dept,ceptel,email,onay,kod,sifirla) VALUES ('$adi','$sifre','$kid','$kurum','$brans','$dept','$cep','$email','$onay','$kod','$sifir')" );

if ( $sql == true) {

require("mail/class.phpmailer.php");
include 'mail/mail_ayar.php';

$mail->AddAddress("$email");

$mail->Subject = " Kurum Yetkilisi e-posta onayı";

$mail->Body = "Sayın ".$adi.",


Bu ileti 'a Kurum Yetkilisi olarak kaydınızı onaylamanız için gönderilmiştir.

Onay Linki

";

if(!$mail->Send()){
echo "
Onay maili gönderilemedi. Fakat kaydınız veritabanına kaydedildi. Yönetimle iletişime geçiniz. Hata sebebi: ".$mail->ErrorInfo;"
";
} else {
echo '
Kurum yetkilisi kaydınız başarıyla kaydedildi. Lütfen üyeliğinizi onaylamak için e-postanızı kontrol ediniz.
';
}}}
?>

$kid=trim($_POST['aranan']);
$sorgu = $db->prepare("SELECT * FROM kurumlar WHERE kurum_id LIKE '%$kid%' ORDER BY id asc LIMIT 1");
$sorgu -> execute();

foreach($sorgu as $rowb) {
?>

Kurum ID:





Kurum:

























class="masked" title="11-digit number" required>


























<script></script>
include('footer.php'); ?>
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al