Çözüldü PHP "fatal error" hatası

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

hoopperr

Hectopat
Katılım
7 Temmuz 2019
Mesajlar
94
Merhaba, ben yazılıma yeni başladım bu sebeple aldığım bir iki hatada yardımcı olursanız sevinirim. Ben kendi e-pin sitemi yaptım tema hazır her şey çok güzel oldu ama login sistemini yapmaya çalışırken bir hata alıyorum. Hatayı veren kod ve hata şöyle:

Hata: fatal error: Uncaught mysqli_sql_exception: Duplicate entry " for key 'kullanici_adi'in C:\xampp\htdocs\giris.php:18 stack trace: #0 C:\xampp\htdocs\giris.php(18): mysqli_query(object(mysqli), 'ınsert ınto kul...') #1 {main} thrown in C:\xampp\htdocs\giris.php on line 18

Kod: $ekle="ınsert ınto kullanicilar (kullanici_adi, email, parola) values ('$name', '$email', '$password')";
$Calistirekle = mysqli_query($baglanti,$ekle);


Login sistemini denediğimde database ye her şey kayıt oluyor iyi hoş fakat sayfayı yenilediğimde yukarıdaki hatayı alıyorum. Data ya yazdırmak için verdiğim kullanici_adi, email, parola hepsi doğru hepsini kontrol ettim, nasıl düzeltebilirim bunu? Birde mesela hata mesajlarını yazdım ama etki etmiyor işlemiyor sayfaya.
Hatta şöyle kodların resmini de bırakyım daha detaylı olmuş olur:
 

Dosya Ekleri

  • giris.png
    giris.png
    122,7 KB · Görüntüleme: 155
Son düzenleme:
Çözüm
Bu seferde index.php den giriş e tıkladığımda şu hatayı veriyor:

Warning: Undefined array key "kullaniciadi" in C:\xampp\htdocs\login\giris.php on line 27

Warning
: Undefined array key "email" in C:\xampp\htdocs\login\giris.php on line 28

Warning
: Undefined array key "parola" in C:\xampp\htdocs\login\giris.php on line 29

Warning
: Undefined variable $baglanti in C:\xampp\htdocs\login\giris.php on line 32

Fatal error
: Uncaught TypeError: mysqli_query(): Argument #1 ($mysql) must be of type mysqli, null given in C:\xampp\htdocs\login\giris.php:32 Stack trace: #0 C:\xampp\htdocs\login\giris.php(32): mysqli_query(NULL, 'INSERT INTO kul...') #1 {main} thrown in C:\xampp\htdocs\login\giris.php on line 32
MySQL bağlantı sorununu hala çözmemişsiniz, önce onu çözmelisiniz. baglanti.php'yi içe aktardığınızdan emin olun. Önceki mesajda da söylediğim gibi mysqli_query'ye bağlantının yapıldığı değişkenin parametresini verin şu şekilde: mysqli_query($baglanti, $ekle);
Tırnak kullanımı hatalı orada. İf içindeki echo kısmını ilk önce çift tırnak ile başlatın. İçini tek kırnak ile yapıp deneyin.

Bu şekilde;

PHP:
 echo "<p><font color='white'>Kayıt işleminiz başarıyla gerçekleşti!</font></p>";
 
Warning: Undefined variable $baglanti in C:\xampp\htdocs\login\giris.php on line 21

Fatal error
: Uncaught TypeError: mysqli_query(): Argument #1 ($mysql) must be of type mysqli, null given in C:\xampp\htdocs\login\giris.php:21 Stack trace: #0 C:\xampp\htdocs\login\giris.php(21): mysqli_query(NULL, 'INSERT INTO kul...') #1 {main} thrown in C:\xampp\htdocs\login\giris.php on line 21

hala böyle bir hata veriyor.
 
Bütün id'leri sildim hocam.

Warning: Undefined variable $baglanti in C:\xampp\htdocs\login\giris.php on line 21

böyle bir hata veriyor şimdide
$baglanti değişkenin config/db.php içinde olması lazım. O dosyayı içe aktardığından emin ol, değişken isminin de $baglanti olduğuna ayrıca emin ol.
 
$baglanti değişkenin config/db.php içinde olması lazım. O dosyayı içe aktardığından emin ol, değişken isminin de $baglanti olduğuna ayrıca emin ol.
aynı klasöre taşıdım include("baglanti.php"); yaptım

Fatal error: Uncaught TypeError: mysqli_query(): Argument #1 ($mysql) must be of type mysqli, PDO given in C:\xampp\htdocs\login\giris.php:21 Stack trace: #0 C:\xampp\htdocs\login\giris.php(21): mysqli_query(Object(PDO), 'INSERT INTO kul...') #1 {main} thrown in C:\xampp\htdocs\login\giris.php on line 21

buna döndü hata
 
aynı klasöre taşıdım include("baglanti.php"); yaptım

Fatal error: Uncaught TypeError: mysqli_query(): Argument #1 ($mysql) must be of type mysqli, PDO given in C:\xampp\htdocs\login\giris.php:21 Stack trace: #0 C:\xampp\htdocs\login\giris.php(21): mysqli_query(Object(PDO), 'INSERT INTO kul...') #1 {main} thrown in C:\xampp\htdocs\login\giris.php on line 21

buna döndü hata
Daha önce nasıl MySQL sorgusu çalıştırıyordunuz ki bu hatayı vermeye başladı? En başından bu hatalar çıkmalıydı. Şu an konu başlığındaki hatadan çok farklı bir hata var karşımızda.

Hata baglanti.php dosyasındaki bağlantının PDO ile yapıldığını ancak sorgunun MySQLi procedural stilinde yapıldığını söylüyor. Ya bağlantıyı da procedural şeklinde kurun ya da sorguyu da PDO şeklinde yapın.

Bu dediklerimizi yaparken veya konuyu açtıktan sonra kodlarda, özellikle de veritabanı bağlantısı ve sorgu kodlarında herhangi bir değişiklik yaptın mı?
 
Warning: Undefined variable $baglanti in C:\xampp\htdocs\login\giris.php on line 21

Fatal error
: Uncaught TypeError: mysqli_query(): Argument #1 ($mysql) must be of type mysqli, null given in C:\xampp\htdocs\login\giris.php:21 Stack trace: #0 C:\xampp\htdocs\login\giris.php(21): mysqli_query(NULL, 'INSERT INTO kul...') #1 {main} thrown in C:\xampp\htdocs\login\giris.php on line 21

şimdide durum bu


PHP:
<?
$host="localhost";
$kullanici="root";
$parola="";
$vt="moongame";
$baglanti = mysqli_connect($host, $kullanici, $parola, $vt);
mysqli_set_charset($baglanti, "UTF8");

?>

baglanti.php bu şekilde
 

Yeni konular

Geri
Yukarı