PDO Kullanımı
PHP.NET Birkaç yıl evvel yaptığı duyuru ile veri tabanı işlemleri için Mysql ve Mysql_li kullanımının güvenli olmadığını bunların yerine Mysqli veya PDO kullanılması gerektiğini belirtmişti. PDO kullanımı adlı bu yazı da PDO kodlamasını Mysql karşılıkları ile gösterip daha iyi anlaşılması sağlanmak istenmiştir.
PDO Veri tabanı Bağlantısı
mysql_li ile veri tabanına bağlanma şeklimiz aşağıdaki gibiydi;
<?php
$baglanti = mysql_connect("localhost","root","123456") or die (); mysql_select_db("test", $baglanti) or die ( mysql_error() );
?>
PDO İle veri tabanı bağlantısı da aşağıdaki gibi. Fakat uzunluğuna aldanmayın try Catch komutları sadece hataları göstermesi için kullanıldı dilerseniz kullanmayabilirsiniz. Ama hatalar Mysql bağlantı türündeki gibi karmaşık ve anlaşılmaz çıkmıyor. Daha anlaşılır ve hatanın çözümüne yönelik uyarılar alıyorsunuz.
<?php
try {
$db = new PDO("mysql:host=localhost;dbname=test", "root", "123456");
} catch ( PDOException $e ){
print $e->getMessage();
}
?>
PDO İle Karakter Kodlamasını Belirlemek
Karakter kodlamasını yazılım da belirlemediğimiz zaman sonrasında bir sürü sorunla karşılaşabiliyoruz o yüzden daha kodun başındaysanız bunu yapmanızda fayda var.
mysql_li Kullanarak karakter kodlamasını aşağıdaki gibi yazıyorduk
mysql_set_charset("utf8"); ya da mysql_query("SET CHARACTER SET utf8");
PDO İle Karakter kodlamasını aşağıdaki gibi ayarlayabiliyoruz
$db = new PDO("mysql:host=localhost;dbname=test;charset=utf8", "root", "123456");
Bu kullanımda Hem veri tabanına bağlanıyoruz hem de aynı anda Karakter kodlamasını da ayarlamış oluyoruz.
Yukardaki kullanım hoşunuza gitmediyse tek başına aşağıdaki gibi de ayarlayabilirsiniz.
$db->query("SET CHARACTER SET utf8");