Türk Telekom, Açık Şebeke Otomasyon Platformu (ONAP)’na üye oldu

SanalUzman.com’dan serbest çalışanlara (freelancer) 10 öneri

WordPress Temada Kategorileri Listeleme

PHP Hazır Gelişmiş CURL Kütüphanesi

PHP’de PDO ile Veritabanından Tek Veri Çekme

PHP Programlama Salı Ekim 4th, 2016
4.072 Görüntülenme

Merhaba arkadaşlar daha önce ki konumuzda PDO ile veritabanımızda ki tabloda ne varsa çekerek ekrana yazdırmıştık. Fakat tek bir veriyi çekmek istersen ne yapabiliriz diye düşünüyorsanız aşağıdaki kodlar yardımı ile sorununuza çözüm bulabilirsiniz. Aşağıdaki kodlarda Integer veya String Türünden verilere göre farklı kodlar belirtilmiştir. Bunun nedeni PARAM_STR veya PARAM_INT gibi sabit değerlerin kullanılıyor olması. Bu kodları kullanarak veri listelerseniz. SQL inject sorununa çözüm bulmuş olacaksınız.

Veritabanı Bağlantısı
<?PHP 

## BAĞLANTI YAPIYORUZ
  $servername = "localhost";
  $username = "root";
  $password = "";
  $dbname = "Veritabani";

  try {
      $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
      $conn->exec("SET CHARACTER SET utf8");
      $conn->query("SET NAMES 'utf8'");
      $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
      echo "Bağlantı Başarılı....<br />"; 
    }
  catch(PDOException $e)
    {
      echo "Bağlantı Hatası: " . $e->getMessage()."<br />";
    }
?>
Basit ve Pratik Veri Çekme Yöntemi

Bu yöntemi kullanırken bazı notalarda sorun yaşayabilirsiniz. Bu sorun string türünden bir değere göre listeme yapmak isterseniz hata verecektir.

$veri= $conn->query("SELECT * FROM kullanicilar WHERE ID=1")->fetch(PDO::FETCH_ASSOC);
  echo $veri['kull_adi'];
String Türünden Bir Veriye Göre Getirmek İstersek
<?PHP 

  $veri = $conn->prepare('SELECT * FROM kullanicilar WHERE kull_adi = :isim');
  $veri->bindValue(':isim', 'localhost', PDO::PARAM_STR); 
  $veri->execute();
  $dizi = $veri->fetchAll(PDO::FETCH_ASSOC);
  
  ECHO $dizi[0]['kull_adi']; 

?>
İnteger Türünden Bir Veriye Göre Getirmek İstersek
<?PHP 

  $veri = $conn->prepare('SELECT * FROM kullanicilar WHERE id = :sira');
  $veri->bindValue(':sira', 1, PDO::PARAM_INT); 
  $veri->execute();
  $dizi = $veri->fetchAll(PDO::FETCH_ASSOC);
  
  ECHO $dizi[0]['kull_adi']; 

?>

 

Yorumlar

Yazıya 1 yorum yapılmış.

fuat Cumartesi Şubat 25th, 2017

anasayfa da galeri bolumum var veritabanından resimleri cekiyorum fakat galerinin resim ebatlari farkli biri kare diger dikdortgen css kodu farkli yani bunu nasil her karaye en son id ye gore resim oturtabilirim? foreach le limit 1 yapip cekince hepsi ayni resim oluyor

Benzer İçerikler