PHP Data Objects – yani PDO. PHP ile az da olsa uğraştıysanız ve veritabanı işlemleri yaptıysanız muhtemelen mysql_ ile başlayan kodlar yazmışsınızdır. İşte bu kodları PHP 7 sürümü ile birlikte hikaye oldu gitti. PHP 5.6 sürümünde ise mysql_ ile başlayan kodlar yazdığınızda bir uyarı çıkıyor ve bu kodları kullanmamanız ileriki sürümde kullanımdan kaldırılacağı uyarısı veriliyor.
Bilgisayarınızda PHP kuruluysa PDO aktif hale getirmek için php.ini dosyasında extension=php_pdo.dll satrını aktif hale getirmeniz gerekiyor. (başındaki # işaretini kaldırarak, daha sonra kaydedip apache`yi yeniden başlatmanız gerekir.)
Peki neden PDO kullanmalıyım?
Kısaca söylemek gerekirse Object Oriented Programming mimarisine sahip veritabanı sürücülerini destekliyor. PDO kullanmalısın çünkü mysql_ `den daha güvenli. Özellikle SQL injectionlara karşı mysql_ çok korumasızdı. Ayrıca şahsi görüşüm PDO ile veritabanına bağlanmak çok zevkli 🙂 Ben genel olarak PDO derslerinde MySQL (veya MariaDB) veritabanı kullacağım. Ancak php pdo ile sadece mysql değil birçok veritabanı mimarisi kullanabilirsiniz. Detaylı bilgi için buraya göz gezdirebilirsiniz.
MySQL veritabanına nasıl bağlanırım?
MySQL veritabanına bağlanmak için öncellikle bilgisayarınıza MySQL veritabanı kurulmalı ve bir veritabanı eklenmelidir. Çünkü bağlanmak için bize, veritabanının adı, kullanıcı adı ve şifresi gerekecek. Şimdi kodumuza geçelim.
<?php
$host = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";
try {
//veritabanı bağlantı satırı
$conn = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
// Öznitelik tanımlaması
// PDO::ATTR_ERRMODE: Hata raporlama.
// PDO::ERRMODE_SILENT: Sadece hata kodlarını atar.
// PDO::ERRMODE_WARNING: Bir E_WARNING çıktılanır.
// PDO::ERRMODE_EXCEPTION: Bir istisna oluşur.
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (PDOException $e) {
echo "Hata kodu: " . $e->getCode() . "<br> Hata mesajı: " . $e->getMessage();
$conn = null;
}
?>
Bu kod satırının başında gelen kullanıcı adı, şifresi ve veritabanı adını doğru girdiğiniz taktirde hata almayacaksınız. Aksi taktirde ekrana hata kodu ve hata mesajı çıkacaktır.
ali
Sade bir anlatım teşekkürler.
23.04.2020, 15:59:45