Günümüz web sitelerinin büyük bir bölümünün Php dili ile Mysql veritabanını kullandığı görülmektedir. Bugünkü dersimizde Php 5 ile gelen mysqli sınıfını kullanarak veritabanına kayıt eklemeyi göstereceğim.
Kodlamaya başlamadan evvel veritabanını Phpmyadmin üzerinden hazırlayalım. Veritabanının ismi okul, tablonun ismi ogrenciler, türkçe karakter sorunu yaşamamak için dil kodlamasını utf8_general_ci şeklinde seçerek aşağıdaki alanları tabloya ekleyin.
Adım1: Veritabanına Bağlantının Gerçekleştirilmesi
Öncelikle veritabanına bağlanma işlemini gerçekleştirelim.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<?php $db=@new mysqli('localhost','root','','okul'); //Verilen parametreleri kullanarak Mysqli sınıfından yeni bir örnek oluşturalım. //1.parametre sunucu ismi, genelde localhost kullanılır. //2.parametre veritabanına bağlanmak için gerekli kullanıcı adı //3.parametre belirtilen kullanıcıya ait şifre //4.parametre veritabanının ismi if($db->connect_error){ echo 'Veritabanına bağlanamadı.'; die($db->connect_error); //Eğer bağlantıda hata varsa mesaj verilip, script sonlandırılır. }else{ echo 'Veritabanına Bağlandı'; } $db->close(); ?> |
Yukarıda ki kodların ne işe yaradığını satır aralarında açıkladım. Eğer veritabanına bağlanamadı mesajı alırsanız diğer adıma geçmeden veritabanı bilgilerinizi kontrol edin.
Adım2: Veritabanına Kayıt Ekleme İşlemi
Veritabanına sorunsuz bağlantıyı gerçekleştirdikten sonra ogrenciler tablosuna bir adet kayıt ekleyelim.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
<?php $db=@new mysqli('localhost','root','','okul'); if($db->connect_error){ echo 'Veritabanına bağlanamadı.'; die($db->connect_error); }else{ $db->set_charset("utf8"); //Türkçe karakter sorunu yaşamamak için $sorgu=$db->prepare("insert into ogrenciler values (?,?,?,?,?)"); //sql injection olmaması için sorguyu yukarıdaki şekilde hazırladık. //5 adet ? işareti tablodaki 5 alana veri ekleyeceğimiz anlamına geliyor. if($sorgu===false) die('Sorgu hatası:'.$db->error); else { $numara=245; $ad="Ahmet"; $soyad="Yılmaz"; $sinif="9-A"; $tarih='1994-06-04'; $sorgu->bind_param("issss",$numara,$ad,$soyad,$sinif,$tarih); //5 adet soru işaretine denk gelecek veriler //peki baştaki issss ne, bu verilerin türünü belirlemek için kullanılır. //i integer, s string anlamına gelir. $numara i, diğer alanlar ise s $sorgu->execute(); //Soruyu çalıştırır. echo 'Kayıt eklendi'; } } $db->close(); ?> |
Gerekli açıklamaları satır aralarına ekledim. Php ile mysql veritabanına kayıt ekleme işlemiyle ilgili sorularınızı bana iletebilirsiniz.