bu kadar kasmana gerek yok, hele google'a check if exists falan gibi lüzumsuz şeyler yazmaya da gerek yok

mysql unique tanımlı alanlarda daha önceden kayıtlı verileri tekrar eklemeyerek 1062 hata kodu verir, pdo insert işlemini try catch içerisinde yaparsan exception nesnesinin errorInfo argümanından bu kodu alabilirsin, bu koda göre bir boolean tanımlarsın onun değerini false olarak atar kontrolünü de sağlamış olursun