Statik veya dinamik bir websitenin arkaplanında her zaman çalışan bir veritabanı ve bu veritabanı ile siteyi bağlayan PHP kodları çalışır.17 Mart 2020Yazımızda PDO kullanarak MySQL bağlantısı kurduktan sonra sırayla veri ekleme, veri güncelleme, veri silme ve veri çekme işlemlerini yapacağız. Statik veya dinamik bir websitenin arkaplanında her zaman çalışan bir veritabanı ve bu veritabanı ile siteyi bağlayan PHP kodları çalışır. İlk olarak veri ekleme kısmından başlayalım.
PDO Kullanarak MySQL Bağlantısı Kurmak
Veritabanındaki tablomuzu mantıken açıklayalım. Veritabanımızda kullanıcının verilerinin saklandığı bir tablo olduğu varsayalım. Bu tablonun ismine kullanici_bilgileri diyelim. Bu tablonun sütunları ise sırayla:
1- Id : Otomatik değer alır. Ekleyen kişi tarafından belirlemek yerine her kayıtta otomatik olarak son kalan sırayı alır. Değeri Integer’dır.
2- k_ad (Kullanıcı adı) : Kayıt esnasında kullanıcının girdiği Adı eklenir. Değeri Varchar’dır.
3- k_soyad (Kullanıcı soyadı) : Kayıt esnasında kullanıcının girdiği Soyadı eklenir. Değeri Varchar’dır.
4- k_tel (Telefon numarası) : Kayıt esnasında kullanıcının girdiği telefon numarası eklenir. Değeri Varchar’dır.
5- k_mail (Mail Adresi) : Kayıt esnasında kullanıcının girdiği mail adresi eklenir. Değeri Varchar’dır.
Veritabanı bilgilerimiz ise şu şekilde izleyelim
Sunucu adresi : localhost
Veritabanı adı: ATAMEDYA_db
Veritabanı Kullanıcı adı : ATAMEDYA_user
Veritabanı Parolası : deneme123
Bu verileri kullanarak “baglanti.php” isminde bir php dosyası oluşturarak bağlantımızı sağlayalım:
<?php
// Bağlantı bilgilerini alalım
define('dbhost', 'localhost');
define('dbuser', 'ATAMEDYA_user');
define('dbpass', 'deneme123');
define('dbname', 'ATAMEDYA_db’);
// Bilgiler ile bağlantıyı deneyelim - utf8 kullanarak türkçe karakterlerinde alınmasını sağlayalım
try {
$baglanti = new PDO("mysql:host=".dbhost."; dbname=".dbname, dbuser, dbpass,array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"));
$baglanti->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
//Try ile bağlantı kurmasını sağladık. Eğer ki Try başarılı olmaz ise catch ile çıkan hatayı ekrana yazdırıyoruz
catch(PDOException $e) {
echo $e->getMessage();
}
?>