Veritabanı İşlemleri: MySQL ile PHP Veritabanı Bağlantısı ve CRUD İşlemleri (PDO Kullanımı)
Veritabanı işlemleri, web uygulamalarında verileri depolamanın ve yönetmenin temel bileşenlerindendir. PHP'nin PDO (PHP Data Objects) uzantısı sayesinde, MySQL veritabanına daha güvenli ve esnek bir şekilde erişebiliriz. Bu makalede, MySQL veritabanı ile PHP arasında nasıl etkileşim kurulacağını ve temel CRUD işlemlerinin nasıl gerçekleştirileceğini öğreneceğiz.
1. Veritabanı Bağlantısı Oluşturma (PDO Kullanarak)
PDO, farklı veritabanlarına bağlanmayı sağlayan genel bir sınıftır. İlk olarak, PDO kullanarak bir MySQL veritabanı bağlantısı oluşturmalıyız.
php
Copy code
<?php
$servername = "localhost";
$username = "kullanici_ad";
$password = "sifre";
$database = "veritabani_ad";
try {
$conn = new PDO("mysql:host=$servername;dbname=$database", $username, $password);
// Hata modunu ayarla
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Bağlantı başarıyla oluşturuldu.";
} catch(PDOException $e) {
echo "Bağlantı hatası: " . $e->getMessage();
}
?>
2. Veri Ekleme (Create) İşlemi (PDO Kullanarak)
Veritabanına yeni bir kayıt eklemek için PDO kullanabiliriz.
php
Copy code
<?php
try {
$conn->beginTransaction();
$sql = "INSERT INTO ogrenciler (ad, soyad, numara) VALUES ('Ahmet', 'Yılmaz', '123456')";
$conn->exec($sql);
$conn->commit();
echo "Yeni kayıt başarıyla eklendi.";
} catch(PDOException $e) {
$conn->rollBack();
echo "Hata: " . $e->getMessage();
}
?>
3. Veri Okuma (Read) İşlemi (PDO Kullanarak)
Veritabanından veri okumak için PDO kullanabiliriz.
php
Copy code
<?php
try {
$sql = "SELECT id, ad, soyad, numara FROM ogrenciler";
$result = $conn->query($sql);
if ($result->rowCount() > 0) {
foreach ($result as $row) {
echo "ID: " . $row["id"]. " - Ad: " . $row["ad"]. " - Soyad: " . $row["soyad"]. " - Numara: " . $row["numara"]. "<br>";
}
} else {
echo "Sonuç bulunamadı.";
}
} catch(PDOException $e) {
echo "Hata: " . $e->getMessage();
}
?>
4. Veri Güncelleme (Update) İşlemi (PDO Kullanarak)
Var olan bir kaydı güncellemek için PDO kullanabiliriz.
php
Copy code
<?php
try {
$conn->beginTransaction();
$sql = "UPDATE ogrenciler SET ad='Mehmet' WHERE numara='123456'";
$conn->exec($sql);
$conn->commit();
echo "Kayıt başarıyla güncellendi.";
} catch(PDOException $e) {
$conn->rollBack();
echo "Hata: " . $e->getMessage();
}
?>
5. Veri Silme (Delete) İşlemi (PDO Kullanarak)
Belirli bir kaydı silmek için PDO kullanabiliriz.
php
Copy code
<?php
try {
$conn->beginTransaction();
$sql = "DELETE FROM ogrenciler WHERE numara='123456'";
$conn->exec($sql);
$conn->commit();
echo "Kayıt başarıyla silindi.";
} catch(PDOException $e) {
$conn->rollBack();
echo "Hata: " . $e->getMessage();
}
?>
6. Veritabanı Bağlantısını Kapatma (PDO Kullanarak)
Veritabanı işlemleri tamamlandıktan sonra bağlantıyı kapatmak önemlidir.
php
Copy code
<?php
$conn = null; // veya $conn = new PDO("mysql:host=$servername;dbname=$database", $username, $password);
?>
Bu örneklerle MySQL veritabanı ile PHP arasındaki temel CRUD işlemlerini PDO kullanarak nasıl gerçekleştirebileceğinizi öğrenmiş oldunuz. PDO, daha güvenli ve genel bir veritabanı erişim katmanı sağlar ve farklı veritabanı motorlarına kolayca geçiş yapmanızı sağlar.