fikretyn
Üye
1. Bağlantı Oluşturma:
PDO ile bir veritabanına bağlanmak için PDO sınıfını kullanırız. Bağlantı bilgileri olarak sunucu adı, veritabanı adı, kullanıcı adı ve şifre gerekir.
Kod:
<?php
$servername = "localhost";
$username = "kullanici_adi";
$password = "sifre";
$database = "veritabani_adi";
try {
$conn = new PDO("mysql:host=$servername;dbname=$database", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Veritabanına başarıyla bağlandı!";
} catch(PDOException $e) {
echo "Bağlantı hatası: " . $e->getMessage();
}
?>
2. Hazırlanmış İfadeler (Prepared Statements):
PDO, hazırlanmış ifadeler kullanarak SQL enjeksiyonlarına karşı koruma sağlar.
Kod:
$stmt = $conn->prepare("SELECT * FROM tablo WHERE sutun = :deger");
$stmt->bindParam(':deger', $degisken_deger);
$stmt->execute();
$sonuclar = $stmt->fetchAll();
3. Sorgu Çalıştırma ve Sonuçları İşleme:
Kod:
$stmt = $conn->query("SELECT * FROM tablo");
$sonuclar = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($sonuclar as $row) {
echo "ID: " . $row['id'] . ", İsim: " . $row['isim'] . "<br>";
}
4. Hata İşleme:
PDO, hata işleme için esnek bir yapı sunar. Örneğin:
Kod:
try {
// PDO işlemleri
} catch(PDOException $e) {
echo "Hata: " . $e->getMessage();
}
5. Transaksiyonlar:
Kod:
$conn->beginTransaction();
try {
// Birden fazla SQL sorgusu
$conn->commit();
} catch (PDOException $e) {
$conn->rollback();
echo "Hata: " . $e->getMessage();
}