v2.5.2
Giriş yap

1062 mysql error kodunu php ile alamıyorum.

kartal
623 defa görüntülendi

Mail alanı benzersiz tanımlı

<?php
  #1062 - Duplicate entry '[email protected]' for key 'mail'
  
  if($query->errorInfo() > 0){
	$db_error = implode(",",$query->errorInfo());
    }
    echo $db_error; // 00000 sonucunu veriyor
    
    wampserverdan kaydetmeye çalıştığımda ise 1062 kodunu alabiliyorum.
    
    php de nasıl yakalarım bu kodu, kullanıcıya bu mail kullanımda uyarısı vermek için.
?>
Cevap yaz
Cevaplar (5)
aydinkeskin
1339 gün önce

sisteme kayıt edilen maili filter_var ile veya preg ile e mail formatında olup olmadığınıda ekstradan kontrol et kullandığın mail paketinden gelen hataları bi nebze yok etmişde olabilirsin.

qplot
1339 gün önce

sorgu olustur


$bak=$db->prepare("SELECT * FROM uye WHERE mail=?");
$bak->execute([$_POST['mail']]);

$say=$bak->rowCount();

if($say==1){

echo "bu maıl kullanımda";

}else{

echo "mail yok devam";

}


thomasshelby
1339 gün önce

Bu doğru bir davranış olmaz. Bunun yerine tablona yeniden bağlanıp email'in olup olmadığını kendin kontrol ettirmen lazım. Mysql'e çalışma hatası verdirmenin bir anlamı yok.

kartal
1339 gün önce

Çünkü bütün hataları aralarında virgül olacak şekilde almak için.
$query->errorInfo() dizi çünkü.

sync
1339 gün önce

Neden implode ediyorsun?