PDO Kullanımı, PDO :: query () Sorgusunu Çalıştırma (1 Viewer)

Joined
Jul 2, 2018
Credits
11
Rating - 0%
PDO :: query () Sorgusunu Çalıştırma

PDO'da Herhangi Bir Sorgu Çalıştırmanın iki yolu vardır. Çalıştıracağımız Sorguda hiçbir değişken kullanılmayacaksa,

PDO :: query () yöntemini kullanabilirsiniz.
PDO :: query () Sorgunuzu çalıştırır Özellikle gerçek Satırları Alabileceğiniz Şekilde PDOStatement Sınıfının Özel Nesnesini Çevirir


<?php

$stmt = $pdo->query('SELECT isim FROM kullanici');
while ($row = $stmt->fetch())
{
echo $row['isim'] . "\n";
}

?>

Ayrıca query() Yöntemleri SELECT sorguları için Temiz Bir Köprüleme Kullanmamızada izin verir.

Hazırlanan ifadelerde SQL Açıklarında Korumayıda ihmal Etmemek Gerekiyor

Çalıştırdığınız Her Sorgu için, En Az Bir Değişken kullanılacaksa Sorgunuzu Hazırlamanız ve Daha Sonra Değişkenleri ayrı ayrı Değerlerden Geçirmeniz Gerekiyor

Bunun içinde Sadece iki Değere ihtiyacınız var prepare () ve execute ()

Değişkeninizi Yerine Yer Tutucuları Ekleyerek Sorgunuzu Değiştirmeniz gerek


$sql = "SELECT * FROM kullanıci WHERE email = '$email' AND durum='$durum'";

Olacak

$sql = 'SELECT * FROM kullanici WHERE email = ? AND durum=?';

veya

$sql = 'SELECT * FROM kullanici WHERE email = :email AND durum=:durum';

PDO'nun Positional (?) ve isim ( :email) Yer Yutucularını Desteklediğine Dikkat Edin

ikincisi Her Zaman Bir Kolondan Başlar ve Yalnızca Harfler, Rakamlar ve Alt Çizgiler kullanılarak Yazılabilir.
Ayrıca, Yer Tutucuların Çevresinde Hiçbir Sorgunu Kullanılması Gerekmediğini de Unutmayın.

Yer Tutucularla Bir Sorgu Yapmak için, PDO : : prepare() Yöntemi Kullanarak Hazırlamanız Gerekir.
Bu işlev PDOStatement Yukarıda Bahsettiğimiz Nesneyi Geri Çağıracak Ancak Hiçbir Veri Eklenmemiş Olacak.

Son Olarak, Sorguyu Çalıştırmak için, execute() Değişkenleri Dizi Biçiminde Geçirerek Bu Nesnenin Yöntemini Çalıştırmalısınız.
Bundan sonra, Elde Edilen Verileri ifadeden Çıkartabileceksiniz


$stmt = $pdo->prepare('SELECT * FROM kullanici WHERE email = ? AND durum=?');
$stmt->execute([$email, $durum]);
$user = $stmt->fetch();

// veya
$stmt = $pdo->prepare('SELECT * FROM kullanici WHERE email = :email AND durum=:durum');
$stmt->execute(['email' => $email, 'durum' => $durum]);
$user = $stmt->fetch();


Gördüğünüz gibi, Konumsal Yer Tutucular için, Değerlerle Normal Bir Dizi sağlamanız gerekir
Oysaki Adlandırılmış Yer Tutucular için, Anahtarların Sorgudaki Yer Tutucu Adları ile Eşleşmesi Gereken ilişkisel Bir Dizi Olması Gerekir.
Konumsal ve adlandırılmış yer Tutucuları Aynı Sorguda Asla Karıştıramazsınız.
Bu Klavuzda Anlatıldığı Gibi Desteklenen Tüm Yöntemleri Kullanarak Verilerinizi Almaya Başlayabilirsiniz.

PDO Veritabanı Bağlantısı için İlgili linke Tıklayın

Bir sonraki PDO klavuzu için takipte kalın
 

Users who are viewing this thread

Top