PDO ile Veritabanına Bağlanmak
<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
?>
Evet Arkadaşlar $dbh = new PDO ile yeni bir veritabanı bağlantısı oluşturduk Şimdi Veritabanında Oluşacak Bağlantı Hatalarımızı Kontrol Edelim <?php
try {
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
?>
Evet Arkadaşlar Burdada getMessage Bize Veritabanımızın Bağlantısında Hata Varsa onları Gösteriyor Böylece Bağlantımızın Yapılıp yapılmadığını görebiliyoruz.
PDO ile Açılan Bağlantıyı kapatma
<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
// burada bağlantıyı kullanıyoruz
// İşimiz bittiğine göre bağlantıyı kapatabiliriz.
$dbh = null;
?>
Yukarıda Gördüğünüz Gibi Arkadaşlar İşlemlerimizi Yaptıktan Sonra $dbh değişkenimize null değeri vererek bağlantımızı sonlandırabiliriz PDO ile Yeni bir kayıt eklemek
Yeni bir kayıt eklemek için exec metodunu kullanacağız. Sonrasında eğer eklediğimiz satırın ID’sini almak istiyorsak lastInsertId metodunu çağıracağız. Eklerken bir sorun gerçekleşirse exec metodu false dönecektir. Bu nedenle öncelikle eklenip eklenmediği kontrol edip sonrasında ID’yi ekrana yazdırabiliriz.
if($db->exec('INSERT INTO users (name) VALUES ("blogger")'))
{
$id = $db->lastInsertId();
echo 'Yeni eklenen üyenin IDsi: ' . $id;
}
else
{
echo 'Yeni kayıt eklerken bir hata meydana geldi.';
}
PDO ile sorgu göndermek
Eğer yapacağımız sorgudan bir sonuç almayı beklemiyorsak “exec“, bir sonuç isteniyorsa “query” metodlarını kullanmalıyız. Özetle; “DELETE/UPDATE/INSERT” gibi sorgularımız için “exec”, “SELECT” gibi sorgularımız için “query”.
try {
$db = new PDO('mysql:host=localhost;dbname=test', $user, $password);
$db->exec('SET NAMES `UTF-8`');
$count = $db->exec('DELETE FROM messages WHERE old = 1');
echo $count . ' messages deleted';
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
PDO ile Sorguları Geri Alabilme
BeginTransaction metodunu çalıştırdıktan sonra yazacağımız tüm ekleme, düzenleme ve silme sorguları normal kullandığımız şekilde çalışmaya devam eder. Eğer sorgular devam ederken tüm bu aralıktaki sorguları geri almak istersek rollBack metodunu çağırırız. Bu metodu çalıştırdığımızda beginTransaction’dan rollBack metoduna kadar yazdığımız tüm ekleme, düzenleme ve silme sorguları geri alınır.
// İşlemleri başlattığımızı ifade ediyoruz
$db->beginTransaction();
$db->exec('INSERT INTO users (name) VALUES ("Ahmet")');
$db->exec('UPDATE users SET name = "Ali"');
$db->exec('DELETE FROM users WHERE name = "Hasan"');
// Yaptığımız sorguları geri aldık
$db->rollBack();
Değişkenleri sorgulara dahil etmek
önce prepare metodu ile sorgumuzu hazırlayıp dışarıdan değerler vereceğimiz yerlere “?” (soru işareti) yerleştiriyoruz. Sonrasında hazırladığımızı sorguya execute metodu ile soru işareti olan yerlere gelecek değerlerimizi gönderiyoruz.
/ Sorgumuzu hazırlıyoruz
$query = $db->prepare('INSERT INTO users (name, email) VALUES(?, ?)');
// Sorguda belirttiğimiz yerlere gelecek değerleri veriyoruz
$query->execute(array('blogger', 'email@email.com));
PDO kullanırken tüm dışarıdan aldığımız değişkenleri sorgularımıza bu yöntem ile dahil etmemiz uygulamamızın güvenliği ve düzeni açısından çok önemlidir. Bu yöntem sayesinde SQL injection açıklarından da arınmış oluyoruz.
PDO ile verileri listelemek
Verileri Listelerken query methodunu kullanırız
foreach($db->query('SELECT * FROM users') as $row) {
echo $row['name'] . '<br/>';
}
PDO ile bir satır veri çekmek
Bunun için PDO srgumuzdan Sonra fetch methodumuzu çağırırız
$row = $db->query('SELECT * FROM users WHERE id = 1')->fetch();
echo $row['name'];
Kaynak : www.phpr.org/php-data-objects-pdo/#more-1940
guzel bilgi olmus saolasın facebook adresin varmı acaba yazarsan sevinirim
YanıtlaSil