PHP Academy · Ders

PDO ile Çalışma

Veritabanlarıyla etkileşim kurmak için PHP Veri Nesneleri'ni (PDO) kullanın

6. ders / 610 adım

PDO ile Çalışma, CoddyKit'te ücretsiz bir PHP Academy dersidir. Bu, 6 dersinin 6. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, PHP Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. PHP Academy kursu toplamda 6 dersten oluşur.

PDO'ya Genel Bakış

PDO ile Çalışma

Sonraki derse hoş geldiniz! Bu derste veritabanıyla etkileşim kurmak için PDO'yu (PHP Veri Nesneleri) nasıl kullanacağınızı öğreneceksiniz. PDO, veritabanlarına bağlanmak ve onlarla çalışmak için esnek ve güvenli bir yöntemdir. Hadi inceleyelim!

PDO ile Çalışma — resim 1

PDO Nedir?

PDO (PHP Veri Nesneleri), farklı veritabanı sistemleriyle çalışmak için tek tip bir arayüz sağlayan bir veritabanı erişim katmanıdır. MySQL, PostgreSQL, SQLite ve daha birçok veritabanını destekler.

Temel Özellikler:

  • Veritabanı bağımsızlığı (birden fazla veritabanı türüyle çalışır).
  • Hazırlanmış ifadeler için yerleşik destek.
  • Gelişmiş hata işleme seçenekleri.

İpucu: PDO, güvenli ve ölçeklenebilir web uygulamaları oluşturmak için harika bir seçenektir.

PDO ile Veritabanına Bağlanma

PDO kullanarak bir veritabanına bağlanmak için şunlara ihtiyacınız vardır:

  • Veritabanı türünü, ana bilgisayarı ve adını içeren Veri Kaynağı Adı (DSN).
  • Geçerli bir kullanıcı adı ve parola.

Örnek:

İpucu: Hassas kimlik bilgileri için ortam değişkenlerini veya yapılandırma dosyalarını kullanın.

<?php
  $dsn = "mysql:host=localhost;dbname=testdb";
  $username = "root";
  $password = "";

  try {
    $pdo = new PDO($dsn, $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Connected successfully!";
  } catch (PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
  }
?>

Sorguları Yürütme

PDO, sorguları yürütmek için iki temel yöntem sağlar:

  • exec(): Sonuç döndürmeyen ifadeler için (ör. INSERT, UPDATE).
  • query(): Sonuç döndüren ifadeler için (ör. SELECT).

Örnek:

<?php
  // Insert a record
  $pdo->exec("INSERT INTO users (name, email) VALUES ('Alice', 'alice@mail.com')");

  // Retrieve records
  $stmt = $pdo->query("SELECT * FROM users");
  while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    echo "Name: " . $row["name"] . ", Email: " . $row["email"] . "<br>";
  }
?>

Hazırlanmış İfadeleri Kullanma

Hazırlanmış ifadeler, güvenli ve verimli veritabanı etkileşimi için gereklidir. Örnek:

İpucu: SQL enjeksiyonunu önlemek için yer tutucular (:email) kullanın.

<?php
  $sql = "SELECT * FROM users WHERE email = :email";
  $stmt = $pdo->prepare($sql);
  $stmt->execute(["email" => "alice@mail.com"]);
  $user = $stmt->fetch(PDO::FETCH_ASSOC);

  echo "Name: " . $user["name"];
?>

PDO'da Hata İşleme

PDO, üç hata işleme modu destekler:

  • ERRMODE_SILENT: Hatalar elle denetlenmelidir.
  • ERRMODE_WARNING: Hatalar PHP uyarılarını tetikler.
  • ERRMODE_EXCEPTION: Hatalar istisnalar oluşturur (önerilir).

Örnek:

<?php
  $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  try {
    $pdo->exec("INVALID SQL STATEMENT");
  } catch (PDOException $e) {
    echo "Error: " . $e->getMessage();
  }
?>

Veri Alma

PDO, çeşitli veri alma yöntemleri sağlar:

  • fetch(): Tek bir satır alır.
  • fetchAll(): Tüm satırları alır.
  • fetchColumn(): Tek bir sütun değeri alır.

Örnek:

<?php
  $stmt = $pdo->query("SELECT name FROM users");
  while ($name = $stmt->fetchColumn()) {
    echo "User: " . $name . "<br>";
  }
?>

İşlem Yönetimi

Birden fazla sorguyu tek bir birim olarak yürütmek için işlemleri kullanın. Örnek:

İpucu: Veri bütünlüğünü güvence altına almak için işlemleri kullanın.

<?php
  try {
    $pdo->beginTransaction();

    $pdo->exec("INSERT INTO users (name, email) VALUES ('Bob', 'bob@mail.com')");
    $pdo->exec("INSERT INTO users (name, email) VALUES ('Charlie', 'charlie@mail.com')");

    $pdo->commit();
    echo "Transaction successful!";
  } catch (PDOException $e) {
    $pdo->rollBack();
    echo "Transaction failed: " . $e->getMessage();
  }
?>

Harika İş Çıkardınız!

Tebrikler! Bağlanma, sorgu yürütme ve işlemleri yönetme dâhil olmak üzere güvenli ve verimli veritabanı etkileşimi için PDO'yu nasıl kullanacağınızı öğrendiniz. Sonraki derste PDO ile gelişmiş SQL sorgulama tekniklerini inceleyeceğiz. Kod yazmaya devam edelim!

PDO ile Çalışma — resim 10
Başlamak ücretsiz

Yapay zeka eğitmeniyle PHP öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
49
Dersler
195

Sıkça Sorulan Sorular

“PDO ile Çalışma” dersi ücretsiz mi?

Evet — “PDO ile Çalışma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve PHP Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. PHP Academy kursu toplamda 6 dersten oluşur.

“PDO ile Çalışma” dersinde ne öğreneceğim?

Veritabanlarıyla etkileşim kurmak için PHP Veri Nesneleri'ni (PDO) kullanın PHP Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

PHP Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te PHP Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 6 dersinin 6. dersidir.

“PDO ile Çalışma” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu PHP Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her PHP Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Veritabanlarına Giriş
  2. MySQL Veritabanına Bağlanma
  3. Tabloları Yönetme
  4. CRUD İşlemlerini Gerçekleştirme
  5. Hazırlanmış İfadeler
  6. PDO ile Çalışma
← PHP Academy Sayfasına Dön