PHP 8 ile PDO (PHP Data Objects) kullanarak veri sorgulama işlemi oldukça yaygın bir yaklaşımdır. Aşağıda adım adım nasıl yapılacağını açıklayacağım.
1. PDO ile Veritabanı Bağlantısı
Öncelikle, bir PDO nesnesi oluşturarak veritabanına bağlanmalısınız. Aşağıda, bir MySQL veritabanına bağlanma örneği yer alıyor:
<?php
$host = 'localhost'; // Veritabanı sunucusu
$db = 'veritabani_adi'; // Veritabanı adı
$user = 'kullanici_adi'; // Veritabanı kullanıcısı
$pass = 'sifre'; // Kullanıcı şifresi
$charset = 'utf8mb4'; // Karakter seti
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];
try {
$pdo = new PDO($dsn, $user, $pass, $options);
} catch (PDOException $e) {
throw new PDOException($e->getMessage(), (int)$e->getCode());
}
?>
2. Veri Sorgulama
Bağlantıyı kurduktan sonra, veritabanından veri sorgulamak için prepare
ve execute
yöntemlerini kullanabilirsiniz. İşte bir örnek:
Basit Sorgu
<?php
$sql = "SELECT * FROM tablo_adi"; // Tüm verileri çekmek için
$stmt = $pdo->prepare($sql);
$stmt->execute();
$results = $stmt->fetchAll();
foreach ($results as $row) {
echo $row['sütun_adi'] . "<br>"; // İlgili sütunu yazdırma
}
?>
Parametreli Sorgu
Parametreli sorgular, SQL enjeksiyon saldırılarına karşı güvenlik sağlar.
<?php
$id = 1; // Sorgulamak istediğimiz ID
$sql = "SELECT * FROM tablo_adi WHERE id = :id";
$stmt = $pdo->prepare($sql);
$stmt->execute(['id' => $id]);
$result = $stmt->fetch();
if ($result) {
echo $result['sütun_adi'];
} else {
echo "Sonuç bulunamadı.";
}
?>
3. Hata Yönetimi
PDO, hata yönetimi için birkaç seçenek sunar. Yukarıdaki örnekte, PDO::ATTR_ERRMODE
ayarını PDO::ERRMODE_EXCEPTION
olarak ayarlayarak, hata meydana geldiğinde bir istisna fırlatılmasını sağladık.
4. Veritabanı Bağlantısını Kapatma
PDO nesnesi, betik sona erdiğinde otomatik olarak kapanır. Ancak, elle kapatmak isterseniz şu şekilde yapabilirsiniz:
$pdo = null; // Bağlantıyı kapatma
Özet
PDO ile veri sorgulamak, güvenli ve etkili bir yöntemdir. Yukarıdaki örnekler, temel sorgulamayı ve parametreli sorguları kapsar. Daha karmaşık sorgular ve işlemler için PDO'nun dökümantasyonuna başvurabilirsiniz.