
Bildiğiniz gibi artık PHP veritabanı işlemleri için doğrudan mysql_ li fonksiyonların kullanımını tavsiye etmiyor. Bunun yerine şuan için önerdiği 2 farklı veritabanı eklentisi mevcut. Bunlardan bir tanesi mysqli, bir diğeri ise PDO.
Ben bu yazımda sizlere PDO’yu mysql_ fonksiyonlarına eş değer olacak şekilde anlatmaya çalışacağım. Eminim daha iyi anlayacaksınız.. Hazırsanız başlayalım?
PDO Veritabanı Bağlantısı:
1 2 3 4 5 6 7 |
<?php try { $db = new PDO("mysql:host=localhost;dbname=test", "root", "123456"); } catch ( PDOException $e ){ print $e->getMessage(); } ?> |
Türkçe Karakter Seti:
1 |
$db->query("SET CHARACTER SET utf8"); |
Toplu Select İşlemi:
1 2 3 4 5 6 |
$query = $db->query("SELECT * FROM uyeler", PDO::FETCH_ASSOC); if ( $query->rowCount() ){ foreach( $query as $row ){ print $row['kulanici_adi']."<br>"; } } |
Tekil Select İşlemi:
1 2 3 4 5 |
$id = $_GET['id']; $query = $db->query("SELECT * FROM uyeler WHERE uye_id = '{$id}'")->fetch(PDO::FETCH_ASSOC); if ( $query ){ print_r($query); } |
Insert İşlemi:
1 2 3 4 5 6 7 8 9 10 11 |
$query = $db->prepare("INSERT INTO uyeler SET uye_kadi = ?, uye_sifre = ?, uye_eposta = ?"); $insert = $query->execute(array( )); if ( $insert ){ $last_id = $db->lastInsertId(); print "insert işlemi başarılı!"; } |
Update İşlemi:
1 2 3 4 5 6 7 8 9 10 |
$query = $db->prepare("UPDATE uyeler SET uye_kadi = :yeni_kadi WHERE uye_kadi = :eski_kadi"); $update = $query->execute(array( "yeni_kadi" => "yeni isim", "eski_kadi" => "eski isim" )); if ( $update ){ print "güncelleme başarılı!"; } |
Toplu Delete işlemi:
1 2 |
$delete = $db->exec("DELETE FROM uyeler"); print 'Toplam '.$delete.' üye silindi!'; |
Tekil Delete İşlemi:
1 2 3 4 |
$query = $db->prepare("DELETE FROM uyeler WHERE uy_id = :id"); $delete = $query->execute(array( 'id' => $_GET['id'] )); |
Veritabanı Bağlantısı Sonlandırma:
1 |
$db = null; |