Size nasıl yardımcı olabiliriz?

Rehberlerimizde ve eğitimlerimizde arama yapın ya da aşağıdaki kategorilere göz atın.

PHP PDO ile Try-Catch Hata Yönetimi ve Sık Karşılaşılan SQLSTATE Hataları

PDO'da Hata Yönetiminin Güvenlik Açısından Önemi

Bir veritabanı hatası oluştuğunda PHP varsayılan olarak ekrana tüm bağlantı dizesini, veritabanı kullanıcı adını ve şifresini yazdırabilir. Bu durum devasa bir güvenlik açığıdır. Try-Catch blokları ile hatalar yakalanmalı, detaylar log dosyasına kaydedilmeli ve son kullanıcıya genel bir mesaj gösterilmelidir.

Profesyonel Try-Catch Yapısı

try {
    $pdo = new PDO($dsn, $user, $pass, $options);
} catch (PDOException $e) {
    // Hatayı log dosyasına yaz (kullanıcıya gösterme)
    error_log("DB Hatası: " . $e->getMessage(), 3, __DIR__ . '/logs/db_errors.log');
    // Kullanıcıya dostça mesaj ver
    http_response_code(500);
    echo "Sistemde geçici bir sorun oluştu. Lütfen daha sonra tekrar deneyiniz.";
    exit;
}

Sık Karşılaşılan SQLSTATE Hata Kodları ve Anlamları

SQLSTATEMySQL KoduAnlamı ve Çözümü
280001045Access denied: Veritabanı kullanıcı adı veya şifresi yanlış. cPanel'den şifreyi kontrol edin ve kullanıcının veritabanına atanıp atanmadığını doğrulayın.
HY0002002Can't connect to MySQL server: MySQL servisi çalışmıyor veya host adresi yanlış. Host olarak localhost veya 127.0.0.1 kullanın.
42S021146Table doesn't exist: Sorgulanan tablo veritabanında bulunamadı. Tablo adının harf duyarlılığına dikkat edin.
230001062Duplicate entry: Benzersiz (UNIQUE) bir alana (örneğin aynı e-posta) ikinci kez kayıt eklenmeye çalışılıyor.
Faydalı oldu mu?

Geri bildiriminiz için teşekkürler!

Hâlâ Yardıma mı İhtiyacınız Var?

Yukarıda bulamadığınız her şey için destek ekibimiz her zaman yanınızda.

WhatsApp Live Support