Hazır web sitesi ve özel yazılım çözümleri Ürün odaklı vitrinde web, masaüstü ve yönetim paneli çözümlerini hızlıca keşfedin.
Blog Detayı

PHP PDO fetchColumn() Nedir? Tek Bir Veriyi En Hızlı Şekilde Alma Rehberi

30 Temmuz 2026

PHP PDO fetchColumn() Nedir? Tek Bir Veriyi En Hızlı Şekilde Alma Rehberi

PHP PDO fetchColumn() Nedir? Kullanımı ve fetch() ile Farkları

PHP geliştirirken çoğu zaman veritabanından yalnızca tek bir bilgiye ihtiyaç duyarız. Örneğin bir kullanıcının adı, toplam kayıt sayısı, ürün fiyatı veya e-posta adresi gibi tek bir değeri almak istediğimizde PDO::fetchColumn() metodu en doğru seçimlerden biridir.

Bu yazıda fetchColumn() metodunun ne işe yaradığını, nasıl kullanıldığını, performans avantajlarını ve fetch() metodundan farklarını örneklerle inceleyeceğiz.


fetchColumn() Nedir?

fetchColumn(), çalıştırılan SQL sorgusundan dönen ilk satırın belirtilen sütununu doğrudan döndürür. Varsayılan olarak ilk sütunu (0. indeks) getirir.

Bir dizi (array) yerine doğrudan değeri döndürdüğü için hem daha okunabilir hem de daha pratik bir kullanım sunar.

PHP PDO fetchColumn() Kullanımı

<?php

$pdo = new PDO(
    "mysql:host=localhost;dbname=blog;charset=utf8mb4",
    "root",
    ""
);

$sql = "SELECT username FROM users WHERE id = ?";
$stmt = $pdo->prepare($sql);
$stmt->execute([5]);

$username = $stmt->fetchColumn();

echo $username;

?>

Yukarıdaki örnekte sorgu yalnızca username alanını seçmektedir. fetchColumn() ise doğrudan bu değeri döndürür.

COUNT() ile Kullanımı

En yaygın kullanım alanlarından biri kayıt sayısını almaktır.

<?php

$stmt = $pdo->query("SELECT COUNT(*) FROM users");

$totalUsers = $stmt->fetchColumn();

echo $totalUsers;

?>

Bu yöntem gereksiz dizi oluşturmadığı için oldukça pratiktir.

Belirli Bir Sütunu Okuma

İlk sütun dışında başka bir sütun okunacaksa sütun numarası parametre olarak verilebilir.

$stmt->fetchColumn(1);

Burada 1, ikinci sütunu ifade eder. İlk sütunun indeksi ise 0'dır.


fetchColumn() ile fetch() Arasındaki Fark

fetchColumn() fetch()
Tek bir değer döndürür. Tüm satırı dizi olarak döndürür.
Daha az bellek kullanır. Daha fazla veri taşır.
Tek alan okunacaksa idealdir. Birden fazla sütuna ihtiyaç duyulduğunda tercih edilir.
Daha kısa ve okunabilir kod sağlar. Diziden alanlara erişmek gerekir.

fetch() Kullanım Örneği

<?php

$stmt = $pdo->prepare("
    SELECT id, username, email
    FROM users
    WHERE id = ?
");

$stmt->execute([5]);

$user = $stmt->fetch(PDO::FETCH_ASSOC);

echo $user['username'];
echo $user['email'];

?>

Burada tüm satır okunur ve veriler dizi olarak elde edilir.


fetchColumn() Hangi Durumlarda Kullanılmalı?

  • Toplam kayıt sayısını almak (COUNT)
  • Kullanıcı adı okumak
  • E-posta adresi çekmek
  • Ürün fiyatını almak
  • Tek bir ayar değerini okumak
  • Tek sütun döndüren sorgular

Avantajları

  • Daha hızlı çalışır.
  • Daha az bellek kullanır.
  • Kod okunabilirliğini artırır.
  • Tek satır ve tek sütun sorguları için idealdir.
  • Gereksiz dizi oluşturmaz.

Sonuç

Eğer SQL sorgunuz yalnızca tek bir değer döndürüyorsa fetchColumn(), hem performans hem de kod sadeliği açısından en doğru yöntemdir. Birden fazla sütuna ihtiyaç duyduğunuz durumlarda ise fetch() kullanmanız gerekir.

Kısaca özetlemek gerekirse; tek veri için fetchColumn(), çoklu veri için fetch() kullanılması tavsiye edilir.

WhatsApp ile İletişime Geç