
PHP’de PDO ile MySQL Veritabanı Bağlantısı Yapma
PHP’nin PDO (PHP Data Objects) sınıfı, veritabanları ile güvenli ve esnek bir şekilde etkileşim kurmanıza olanak tanır. MySQL veritabanına PDO ile bağlantı kurmak, SQL enjeksiyonlarından korunmanıza yardımcı olur ve veritabanı işlemlerini daha güvenli hale getirir.
Adım Adım PDO ile MySQL Veritabanı Bağlantısı Kurma
1. PDO Uzantısının Yüklü Olduğundan Emin Olun
PDO’nun çalışabilmesi için PHP kurulumu sırasında PDO uzantısının etkinleştirilmiş olması gerekir. php.ini
dosyasını kontrol ederek PDO’nun yüklü ve etkin olduğundan emin olun:
2. Veritabanı Bağlantı Bilgilerini Tanımlayın
Veritabanınıza bağlanmak için gerekli olan bilgiler şunlardır:
- Host: Veritabanı sunucusunun adresi (genellikle
localhost
veya IP adresi) - DB adı: Bağlanmak istediğiniz veritabanının adı
- Kullanıcı Adı: Veritabanına erişim için kullanılan kullanıcı adı
- Şifre: Kullanıcı adı için belirlenen şifre
3. PDO ile Veritabanı Bağlantısını Kurun
Aşağıda, PDO kullanarak MySQL veritabanına nasıl bağlanılacağını gösteren bir örnek bulunmaktadır:
<?php
$host = ‘localhost’; // veya IP adresi
$dbname = ‘test_db’; // Veritabanı adı
$user = ‘root’; // Kullanıcı adı
$pass = ”; // Şifre
try {
// PDO bağlantısı oluşturma
$pdo = new PDO(“mysql:host=$host;dbname=$dbname”, $user, $pass);
// Hata yönetimi modunu ayarlama
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo ‘Veritabanına başarılı bir şekilde bağlanıldı!’;
} catch (PDOException $e) {
// Hata mesajını yazdırma
echo ‘Bağlantı hatası: ‘ . $e->getMessage();
}
?>
4. PDO Kullanarak SQL Sorguları Çalıştırma
PDO bağlantısı kurulduktan sonra, SQL sorguları hazırlayıp çalıştırabilirsiniz. İşte basit bir SELECT sorgusu örneği:
<?php
try {
// PDO bağlantısı oluşturma
$pdo = new PDO(“mysql:host=$host;dbname=$dbname”, $user, $pass);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// SQL sorgusunu hazırlama
$stmt = $pdo->prepare(‘SELECT * FROM users WHERE age > :age’);
// Parametreleri bağlama
$stmt->bindParam(‘:age’, $age);
// Parametre değerini belirleme
$age = 18;
// Sorguyu çalıştırma
$stmt->execute();
// Sonuçları alma
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($results as $row) {
echo $row[‘name’] . ‘<br>’;
}
} catch (PDOException $e) {
echo ‘Sorgu hatası: ‘ . $e->getMessage();
}
?>
5. Veritabanı Bağlantısını Kapatma
PDO nesnesinin bağlantısını kapatmak için PDO nesnesini null
olarak atayabilirsiniz:
PDO kullanarak MySQL veritabanına bağlanmak, PHP uygulamanızda güvenli ve verimli bir veritabanı yönetimi sağlar. PDO’nun sağladığı hata yönetimi ve parametrik sorgular gibi özellikler, SQL enjeksiyonlarından korunmanıza ve kodunuzu daha güvenli hale getirmenize yardımcı olur.