PDO mysql serimize devam ediyoruz.Bu derste arama işlemini yapacağız.Öncelikle sql yapısına bakalım .
select * from tablo_ismi where sutun_ismi like '%kelime%'
Sql yapımız bu şekilde.Wherede arama yapacağımız sütünu yazıyoruz daha sonra like diyip aranacak metni griyoruz.
Kelimenin başındaki ve sonundaki % işareti anlamı şu.Başındaki % kelimenin başı belli değil.Sonundaki % sonun belli olmadığı.Yani ardağımız metini nerede görürse çeker.Onları kaldırabilirsiniz.Şimdi pdo kısmına geçelim.
<?php
try{//hata varmı diye kontrol mekanizması.
$baglanti=new PDO("mysql:host=localhost;dbname=pdo","root","");//bağlantı yaptık
echo "Mysql Bağlantısı Başarıyla Sağlandı. <br />";//bağlantı varsa ekrana yaz.
$ara=$baglanti->query("select * from uye where isim like '%a%' ");//isim sütununda a harfi geçenleri çektik.
$miktar=$ara->rowCount();//verilerin hepsini saydırdık.
if($ara){//eğer veri çekildiyse
echo "veri çekildi <br />";
if($miktar>0){
foreach($ara as $al){//foreach $arada ki tüm verileri tek tek $al değişkenine aktaracak
echo $al["isim"]."<br />";//Aldığımız verilerden isim sütununu ekrana bastırdık
}
}else{
echo "Aranan kelime yok.";
}
}else{
echo "veri çekilemedi";
}
}catch (PDOException $h) {
$hata=$h->getMessage();
echo "<b>HATA VAR :</b> ".$hata;//bağlantı hatası olursa.hata var yaz.
}
?>
Çıktısı :
Mysql Bağlantısı Başarıyla Sağlandı.
veri çekildi
Rahman
cArleone2
Eğer aranan kelime yoksa çıktısı :
Mysql Bağlantısı Başarıyla Sağlandı.
veri çekildi
Aranan kelime yok.
İlkinde a yı aradım ve bu 2 isimde a geçtiği için çekti.Baştaki % kaldırıp a yı arasaydım sonuç olmayacaktı çünkü hiç biri a ile başlamıyo.