PHP MySQL Bağlantısı
Herkese merhaba dostlarım :) bu yazımda php üzerinden MySQL database bağlantısını anlatacağım. Hiçbir zor kısmı yok tamamen mantık üzerine kurulmuş bir sınıf diyebiliriz :). Zor kısmı yoksa neden konuya girmiyorsunuzu ki dediğinizi duyar gibiyim :) Sözü daha fazla uzatmadan başlayalım ama önce database nedir bir tanımına bakalım
Database(Veri Tabanı) Nedir ?
Dostlarım size bunu teorik tanımına girmeden tamamen mantıksal olarak açıklayayım. Şimdi düşünün 10 kişilik bir listeniz var ama siz bunları database olmadan sürekli olarak kodlarınızın içinde bir diziye aktardınız bilgileri oradan çekiyorsunuz. 10 kişiye kadar tamam peki ya bu 100 - 1000 kişi olursa? Ve bu kişileri bazı özellikler tanımlayıp ilişkilendirmeniz gerektiği zamanlarda ne yapcaz?
10 kişiye kadar olan bu yöntem bazen 10 kişi için birden fazla özellik yapacağınız durumda da sizi çok zorlayacaktır ve statik bir şekilde olduğu için kod yazmanızın işlerinizi kolaylaştırmanın bir anlamı olmayacaktır. Bu yüzden database nin ne kadar önemli olduğu apaçık ortaya çıkıyor. Bütün kayıtları rahatlıkla tutabiliyor, ilişkilendiriyor ve diyagramlarla ifade edebiliyoruz vs vs.
Sözü daha fazla uzatmayalım hızlı bir şekilde php de veri tabanı bağlantısına geçelim :)
Örnek database ismimiz: okul
Örnek database kullanıcı adımız: root
Örnek database şifremiz : '' (eğer xampp kullanıyorsanız şifre varsayılan olarak boş gelecektir onu isteğinize göre değiştirebilirsiniz)
Şimdi gelelim bağlantı işlemine. Bu bağlantı işlemini güvenlikli olan PDO Class ı ile gerçekleştireceğiz
<?php
session_start(); // session ları başlatalım
on_start(); // çıktı kontrolünü sonlandırır (session lar çalıştırıldı ve bu kodla durdu)
$dbname = "okul";
$username = "root";
$password = "";
try{
$db = new PDO("mysql:host=localhost; dbname=$dbname; charset=utf8;",$username,$password);
echo "Bağlandım"; // bunu test amaçlı yazacağız sonra sileceğiz :)
}catch(PDOException $e){
echo "Bağlanamadım ".$e->getMessage();
}
?>
dostlarım gelelim asıl meseleye :)
Şimdi en üstte session_start(); ve ob_start(); olarak iki adet fonksiyon tanımladık. Bunların amaçları:
- session_start() : Sistemimizde admin giriş - çıkış , flash message işlemleri vs yapmak için session işlemlerini başlatır (session oluşturulma işlemlerini başlatır)
- ob_start() : Session ları başlattık ya o işlemi sonlandırmak için kullandık. Yani yukarıdaki işlem tamamlandı bundan sonra çıktı kontrolü dursun diye komut verir
bu iki fonksiyondan sonra database bilgilerini bir değişkenler halinde yazmamız bizim için iyi olacaktır. Çünkü sistemi deploya aldığımızda uzun uzun yazmak yerine değişken içeriğini değiştirip daha hızlı işlem yapabileceğiz :).
Diğer bir kısım PDO Class. Bu class bizim bağlantı oluşturmamızda, veriler üzerinde işlem yapmamızda çok büyük önem arz eder :). İleriki zamanlarda ekleme,silme,listeleme ve güncelleme işlemleriyle ilgili post paylaştığımda ne kadar önemli olduğunu anlamış olacaksınız. Şimdi sözü daha fazla uzatmadan PDO Class ının aldığı parametreleri ve neler kullanılacağını görelim
- Parametre: database ve sunucu bilgileri, karakter seti
- Parametre: database kullanıcı adı
- Parametre: database kullanıcı şifresi
bu 3 parametrenin yazılma işlemini ve bağlanmama durumunda hata geri bildirimi de yapılmasını istediğimiz için bağlantı işlemini try-catch blokları arasına yazmamız bize fayda sağlayacaktır. Aksi halde pdo class ı olmadan verileri çekmesinde hata oluşacak ve "Bağlanamadım" mesajı yerine uzun uzun sql kodları gelmesine neden olacaktır.
Dostlarım işte bağlantı kodları bu kadar kısa :) yazının başında da dediğim gibi zor bir kısmı hiç yok. Artık yapacağınız işlem baglan.php diye dosya açıp içerisine bunları yazmanız ve diğer dosyalarda bu dosyayı include etmeniz kaldı. Onu da başaracağınıza inanıyorum :)
Yazımız burada son buluyor dostlarım :) hayallerinizi gerçekleştirmeniz dileklerimle... İyi çalışmalar
Yazar Hakkında
Kendi Halinde Bir Backend Developer