PHP'de PDO kullanımı nasıl yapılır?

PDO nedir ve bu yapıyı kullanarak PHP ile veritabanına nasıl bağlanabilir, veri ekleyip çekebilirim? Hangi fonksiyonlar kullanılır?

1 Beğeni

PHP’de PDO Kullanımı

PDO (PHP Data Objects) PHP’nin veritabanı erişim katmanıdır ve PHP’nin farklı veritabanlarıyla etkileşimini kolaylaştırır. PDO kullanımı aşağıdaki adımları içerir:

  1. PDO sınıfının bir örneğini oluşturarak veritabanına bağlanma,
  2. SQL ifadelerini çalıştırma,
  3. PDOStatement nesneleriyle sonuçları işleme.

PDO İle Veritabanına Bağlanma

PDO ile veritabanına bağlantı kurmak için, genellikle bir DSN (Veritabanı Kaynak Adı) ve veritabanına bağlantı bilgilerini içeren bir PDO nesnesi oluşturulur.

<?php
    //DSN (Veritabanı Kaynak Adı) belürleme
    $dsn = "mysql:host=localhost;dbname=testdb";
    $username = "username";
    $password = "password";

    try {
        // PDO instance oluşturma
        $pdo = new PDO($dsn, $username, $password);
    } catch (PDOException $e) {
        echo "Bağlantı hatası: " . $e->getMessage();
    }
?>

Veritabanına Veri Eklemek

Veritabanına girdi eklemek için, prepare() ve execute() yöntemlerini kullanabiliriz. Bu prepare() işlevi, SQL ifadesini hazırlar ve execute() işlevi ifadeyi çalıştırır.

<?php
    $sql = "INSERT INTO users (first_name, last_name, email) VALUES (?, ?, ?)";
    $stmt= $pdo->prepare($sql);
    $stmt->execute(["John", "Doe", "[email protected]"]);   
?>

Veritabanından Veri Çekmek

Veriyi çekmek için, önce prepare() işlemiyle SQL ifadesi hazırlanır, sonra da bu ifade execute() işlemi ile çalıştırılır. Yerine getirilmesinin ardından, çeşitli yöntemler (örn. fetch(), fetchAll()) ile alınan sonuçları geri alabiliriz.

<?php
    $sql = "SELECT * FROM users";
    $stmt= $pdo->prepare($sql);
    $stmt->execute();
    $users = $stmt->fetchAll();
?>

TERİMLER:

PDO (PHP Data Objects): PHP’nin veritabanı erişimini kolaylaştıran bir tabakasıdır.

DSN (Veritabanı Kaynak Adı): Veritabanına bağlantı bilgilerini içeren bir dizedir.

PDOException: PDO sözdiziminin bir istisnasıdır ve genellikle veritabanı bağlantısı kurulamadığında çıkarılır.

prepare(): PDO’da bir sql ifadesini hazırlamak için kullanılır.

execute(): PDO’da hazırlanmış sql ifadesini çalıştırmak için kullanılır.

fetch() ve fetchAll(): Sorgunun sonuçlarını almak için kullanılan PDO fonksiyonlarıdır. fetch() tek bir sonuç döndürürken, fetchAll() tüm sonuçları bir dizi olarak döndürür.