PHP 7.4 ile SQLite veritabanı kullanımı nasıl yapılır? (PDO_sqlite)

PHP ve SQLite Nedir?

PHP, dinamik web uygulamaları geliştirmek için yaygın olarak kullanılan bir sunucu tarafı programlama dilidir. SQLite, hafif, dosya tabanlı bir veritabanı yönetim sistemidir. SQLite, sunucu kurulumu gerektirmediği için basit ve hızlı veri yönetimi sağlar. Bu iki teknolojiyi bir arada kullanmak, geliştiricilere basit uygulamalarda güçlü bir veri yönetimi imkanı tanır.

PDO Nedir?

PHP Data Objects (PDO), PHP’deki veritabanı ile etkileşim için bir arayüz sağlar. PDO, farklı veritabanı yönetim sistemlerine bağlanmayı ve bu sistemlerde sorgular gerçekleştirmeyi standart hale getirir. SQLite kullanırken PDO’nun avantajları, güvenli sorgular ve esnek bağlantılar gibi özellikler içerir.

PDO ile SQLite Bağlantısı Kurmak

SQLite veritabanına bağlanmak için ilk adım bir PDO nesnesi oluşturmaktır. Aşağıda, bir SQLite veritabanına bağlanmak için gerekli temel kod örneği yer almaktadır:

“`php
try {
$pdo = new PDO(‘sqlite:path/to/database.db’);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo ‘Veritabanına bağlanırken hata oluştu: ‘ . $e->getMessage();
}
“`

Bu kodda, `path/to/database.db` kısmı, SQLite veritabanının bulunduğu yol ile değiştirilmelidir. Bağlantı sağlandığında, `PDO::ATTR_ERRMODE` özelliği, hata yönetimi için ayarlanmıştır. Bu durum, programın hata aldığında istisna fırlatmasını sağlar.

Veritabanı Oluşturma ve Tablolar

SQLite veritabanı, önceden var olan bir dosya olarak açılır veya yoksa yeni bir tane oluşturulur. Bir veritabanına bağlandıktan sonra, gerekli tabloların oluşturulması gerekir. Aşağıda, basit bir kullanıcı tablosu oluşturma örneği yer almaktadır:

“`php
$sql = “CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
username TEXT NOT NULL,
email TEXT NOT NULL UNIQUE
)”;

$pdo->exec($sql);
“`

Bu kod parçası, `users` adında bir tablo oluşturur. Tabloda `id`, `username` ve `email` adlı üç alan tanımlanmıştır. `id` alanı otomatik artan birincil anahtar olarak kullanılır.

Veritabanına Veri Ekleme

Veritabanına veri eklemek için `INSERT` sorgusu kullanılır. Aşağıdaki örnekte, bir kullanıcı eklemek için gerekli PHP kodu sunulmuştur:

“`php
$username = ‘kullanici_adi’;
$email = ‘kullanici@ornek.com’;

$sql = “INSERT INTO users (username, email) VALUES (:username, :email)”;

$stmt = $pdo->prepare($sql);
$stmt->bindParam(‘:username’, $username);
$stmt->bindParam(‘:email’, $email);
$stmt->execute();
“`

Burada, `prepare` metodu ile bir sorgu hazırlanır. `bindParam` metodu, yer tutucuların değerlerini bağlar. Bu yöntem, SQL enjeksiyon saldırılarına karşı koruma sağlar.

Veritabanından Veri Okuma

Veritabanından veri okumak için `SELECT` sorgusu kullanılır. Aşağıda, daha önce eklenmiş kullanıcıların listesini çekmek için bir örnek verilmiştir:

“`php
$sql = “SELECT FROM users”;
$stmt = $pdo->query($sql);

while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo $row[‘id’] . ‘ – ‘ . $row[‘username’] . ‘ – ‘ . $row[’email’] . ‘
‘;
}
“`

Bu kodda, `query` metodu ile sorgu çalıştırılır ve dönen sonuçlar `fetch` metodu ile çekilir. `PDO::FETCH_ASSOC` parametresi, sonuçların ilişkisel dizi formatında alınmasını sağlar.

Veritabanında Veri Güncelleme

Mevcut verilerin güncellenmesi için `UPDATE` sorgusu kullanılır. Aşağıda bir kullanıcının e-posta adresinin güncellenmesi için örnek kod verilmiştir:

“`php
$newEmail = ‘yeni@ornek.com’;
$userId = 1; // Güncellenecek kullanıcının ID’si

$sql = “UPDATE users SET email = :email WHERE id = :id”;
$stmt = $pdo->prepare($sql);
$stmt->bindParam(‘:email’, $newEmail);
$stmt->bindParam(‘:id’, $userId);
$stmt->execute();
“`

Güncelleme işlemi için de benzer şekilde `prepare`, `bindParam` ve `execute` metotları kullanılmıştır.

Veritabanında Veri Silme

Veritabanında bir kullanıcının silinmesi için `DELETE` sorgusu kullanılır. Aşağıda bir kullanıcı silmek için bir örnek bulunmaktadır:

“`php
$userId = 1; // Silinecek kullanıcının ID’si

$sql = “DELETE FROM users WHERE id = :id”;
$stmt = $pdo->prepare($sql);
$stmt->bindParam(‘:id’, $userId);
$stmt->execute();
“`

Bu kod, belirli bir kullanıcıyı veritabanından silmek için kullanılır.

Hata Yönetimi

SQLite ile etkileşimde, beklenmedik durumların önüne geçmek için hata yönetimi kritik öneme sahiptir. PDO kullanılarak oluşturulan bağlantılarda hata yönetimini etkinleştirmek, hata ayıklama sürecini kolaylaştırır. PDO’nun `setAttribute` metodu ile hata modunun `PDO::ERRMODE_EXCEPTION` olarak ayarlanması, hata durumlarında exception fırlatılmasını sağlar.

Sonuç

PHP 7.4 ile SQLite veritabanı kullanmak, geliştiricilere basit ve etkili bir veri yönetimi sunar. PDO ile oluşturulan bağlantılar, güvenlik ve performans açısından avantajlar sağlar. Kullanıcı verileri eklemek, güncellemek, silmek ve okumak için gerekli temel işlevler, yukarıda açıklanan yöntemlerle gerçekleşir. Bu süreçler, veritabanı ile etkileşimde bulunan uygulamaların temel yapı taşlarını oluşturur.

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz

SON İÇERİKLER

İLGİNİZİ ÇEKEBİLİR