- Katılım
- 5 Şub 2020
- Mesajlar
- 205
- Tepkime puanı
- 87
- Puanları
- 28
PDO Kullanımı
Veritabanı Bağlantısı
PDO da veritabanı bağlantısı;
Elbette PDO ile bağlanırken try ~ catch yapısını kullanmak zorunda değildik ancak böyle bir kullanım çok daha kullanışlıdır. Çünkü PDO’nun hatalar için bir exception’ı var ve daha mantıklı hata mesajları üretiyor.
Not: PDO sadece mysql’i değil bir çok veritabanı yapısını destekler.
Karakter Setini Ayarlama
Her zaman bir charset belirlemek iyidir. PDO da nasıl yaptığımızı örneklerle öğrenelim;
SELECT İşlemi (Toplu)
SELECT İşlemi (Tek)
INSERT İşlemi
UPDATE İşlemi
DELETE İşlemi (Toplu)
DELETE İşlemi (Tek)
Veritabanı Bağlantısı
PDO da veritabanı bağlantısı;
PHP:
<?php
try {
$db = new PDO("mysql:host=localhost;dbname=test", "root", "123456");
} catch ( PDOException $e ){
print $e->getMessage();
}
?>
Elbette PDO ile bağlanırken try ~ catch yapısını kullanmak zorunda değildik ancak böyle bir kullanım çok daha kullanışlıdır. Çünkü PDO’nun hatalar için bir exception’ı var ve daha mantıklı hata mesajları üretiyor.
Not: PDO sadece mysql’i değil bir çok veritabanı yapısını destekler.
Karakter Setini Ayarlama
Her zaman bir charset belirlemek iyidir. PDO da nasıl yaptığımızı örneklerle öğrenelim;
PHP:
$db = new PDO("mysql:host=localhost;dbname=test;charset=utf8", "root", "123456");
ya da;
$db->query("SET CHARACTER SET utf8");
SELECT İşlemi (Toplu)
PHP:
$query = $db->query("SELECT * FROM uyeler", PDO::FETCH_ASSOC);
if ( $query->rowCount() ){
foreach( $query as $row ){
print $row['kulanici_adi']."<br>";
}
}
SELECT İşlemi (Tek)
PHP:
$id = $_GET['id'];
$query = $db->query("SELECT * FROM uyeler WHERE uye_id = '{$id}'")->fetch(PDO::FETCH_ASSOC);
if ( $query ){
print_r($query);
}
INSERT İşlemi
PHP:
$query = $db->prepare("INSERT INTO uyeler SET
uye_kadi = ?,
uye_sifre = ?,
uye_eposta = ?");
$insert = $query->execute(array(
"1tik", "123456", "[email protected]"
));
if ( $insert ){
$last_id = $db->lastInsertId();
print "insert işlemi başarılı!";
}
UPDATE İşlemi
PHP:
$query = $db->prepare("UPDATE uyeler SET
uye_kadi = :yeni_kadi
WHERE uye_kadi = :eski_kadi");
$update = $query->execute(array(
"yeni_kadi" => "1tik",
"eski_kadi" => "1tik.net"
));
if ( $update ){
print "güncelleme başarılı!";
}
DELETE İşlemi (Toplu)
PHP:
$delete = $db->exec("DELETE FROM uyeler");
print 'Toplam '.$delete.' üye silindi!';
DELETE İşlemi (Tek)
PHP:
$query = $db->prepare("DELETE FROM uyeler WHERE uy_id = :id");
$delete = $query->execute(array(
'id' => $_GET['id']
));