Bu yazıda PHP PDO ile nasıl select oluşturacağımızı anlatalım. Önce veritabanı bağlantısını kuralım.
<?php
$host = '127.0.0.1'; // localhost
$db = 'test_db';
$user = 'root';
$pass = '';
$charset = 'utf8mb4';
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
try { // hata yoksa
$pdo = new PDO($dsn, $user, $pass);
} catch (PDOException $e) { // hata varsa göster
throw new PDOException($e->getMessage(), (int)$e->getCode());
}
?>
Şimdi örneklere geçelim:
Önce cümle şeklini yazalım tablomuzdaki tüm ürünleri istiyoruz.
$sql = "SELECT * FROM urunler"; // sorgumuz
$result = $pdo->query($sql); // çağırma şeklimiz
Şimdi tablomuzdaki sadece 1 ürünü getirmek istiyoruz yani tek satırlık bir sorgu kurmak istiyoruz:
$sql = "SELECT * FROM urunler where id=1 LIMIT 1"; // sorgumuz
/ 1. Yöntem
$result = $pdo->query($sql); // çalıştır
$row = $result->fetch(); // gelen sonucu diziye aktar
// 2. Yöntem
//ya da şöyle de yapabilirsiniz:
$row = $pdo->query($sql)->fetch();
// urun adı çağıralım:
echo $row["urun_adi"];
Birden çok satırlı veriyi çağırmak ve kullanmak:
// 1. Yol
$result = $pdo->query("SELECT * FROM urunler");
while ($row = $result->fetchAll()) {
echo $row['urun_adi']."<br />";// Ürün adını çağır
}
// 2. Yol
$result = $pdo->query("SELECT * FROM urunler")->fetchAll();
// tümünü listele
foreach ($result as $row) {
echo $row['urun_adi']."<br /> "; // Ürün adını çağır
}
Şimdi bir de parametre ile koşullu veri çağıralım: Mesela kategorimiz kalem olanları çağıralım:
$result = $pdo->prepare("SELECT * FROM urunler WHERE kategori=?");
$result->execute(['kalem']);
$data = $result->fetchAll();
// sonra bu sorgu sonucunu kullanalım
foreach ($data as $row) {
echo $row['urun_adi']."<br />";
}
Bu şekilde sorguları çoğaltabiliriz.
Kolay gelsin şimdiden.