Konular

Php İle Mysql Veritabanından Bilgi Çekme

Mysql_fetch_assoc, mysql_fetch_row, mysql_fetch_object, mysql_fetch_array ve mysql_result metodları
Uygulamada kullanacağımız veritabanı

Veritabanı: kitaplik
Tablo: kitaplar
isbn adi yazari
944503382 Adım Adım Access 2000 X
881192131 Sabahın Körü Y


baglan.php
   
<?php

$user = "root"; //veritabanı kullanıcı adı
$pwd = "1234"; //veritabanı şifresi
$host = "localhost"; //mysql server
$db = "kitaplik"; //veritabanı adı


$conn = mysql_connect($host,$user,$pwd) or die("MySQL sunucusuna baglanilamadi!!!".mysql_error());

mysql_select_db($db) or die("Veritabani secilemedi!!!".mysql_error());

?>
 
 
baglan.php dosyası, veritabanına bağlantının yapılmasını sağlayan blokları içeren dosyamızdır. böylece her sayfada bu kodları yeniden yazmak yerine sadece sayfaya dahil edeceğiz.

mysql_fetch_assoc

        mysql_fetch_assoc, mysql_query ile dönen sonuç kümesini işleyerek her satırı diziye aktarır. Dizi elemanlarının index anahtarları ise, sütun isimlerinden oluşur. Örnekte; ilk olarak bağlantı dosyamızı içeri aktarıyoruz. Hemen ardından kitaplar tablomuzdan isbn ve adi alanlarını seçiyoruz. Eğer sonuç kümesi boş değilse, her bir satır için while döngüsü ile mysql_fetch_assoc, bilgileri $oku isimli bir dizi oluşturup içerisinde depoluyor. Ardından verileri ekrana basarken bilgileri $oku['sutun_adi'] formatında çağırıyoruz. Eğer kayıt yoksa uyarıp en sonunda bağlantımızı kapatıyoruz.

<?php

require_once("./baglan.php");

$sonuc = mysql_query("select isbn,adi from kitaplar");

if(mysql_num_rows($sonuc)!=0)
{
    while($oku = mysql_fetch_assoc($sonuc))
    {
        echo "Kitap adi: ".$oku["adi"]."<br>Kitap ISBN: ".$oku["isbn"]."<br><br>";
        //echo $.oku["yazari"]; //bu satir hatalidir cunku sql sorgumuzda yazari alanini secmedik
    }
}else{
    echo "Hic kayit yok!";
}

mysql_close($conn);

?>


mysql_fetch_object();

        mysql_fetch_object, mysql_query ile dönen sonuç kümesini işleyerek her satırı oluşturulan nesneye sütun adıyla özellik şeklinde aktarır. Örnekte; ilk olarak bağlantı dosyamızı içeri aktarıyoruz. Hemen ardından kitaplar tablomuzdan isbn ve adi alanlarını seçiyoruz. Eğer sonuç kümesi boş değilse, her bir satır için while döngüsü ile mysql_fetch_object, bilgileri $oku isimli bir nesne oluşturup içerisinde depoluyor. Ardından verileri ekrana basarken bilgileri nesne yönelimli mantıkla $oku->sutun_adi formatında çağırıyoruz. Eğer kayıt yoksa uyarıp en sonunda bağlantımızı kapatıyoruz.

<?php

require_once("./baglan.php");

$sonuc = mysql_query("select isbn,adi from kitaplar");

if(mysql_num_rows($sonuc)!=0)
{
    while($oku = mysql_fetch_object($sonuc))
    {
        echo "Kitap adi: ".$oku->adi."<br>Kitap ISBN: ".$oku->isbn."<br><br>";
        //echo $.oku->yazari; //bu satir hatalidir cunku sql sorgumuzda yazari alanini secmedik
    }
}else{
    echo "Hic kayit yok!";
}

mysql_close($conn);

?>
 


mysql_fetch_row

        mysql_fetch_row, mysql_query ile dönen sonuç kümesini işleyerek her satırı diziye aktarır. Dizi elemanlarının index anahtarları, sorgudaki çekilme sıralarına göre sıfırdan başlayarak devam eder.Örnekte; ilk olarak bağlantı dosyamızı içeri aktarıyoruz. Hemen ardından kitaplar tablomuzdan isbn ve adi alanlarını seçiyoruz. Eğer sonuç kümesi boş değilse, her bir satır için while döngüsü ile mysql_fetch_row, bilgileri $oku isimli bir dizi oluşturup içerisinde depoluyor. Ardından verileri ekrana basarken bilgileri $oku[0] formatında çağırıyoruz. Eğer kayıt yoksa uyarıp en sonunda bağlantımızı kapatıyoruz.
Dikkat edilmesi gereken nokta, index numaralarıdır. Gördüğünüz gibi isbn sütunu ilk çekildiği için 0 index numarasını almıştır.
<?php

require_once("./baglan.php");

$sonuc = mysql_query("select isbn,adi from kitaplar");

if(mysql_num_rows($sonuc)!=0)
{
    while($oku = mysql_fetch_row($sonuc))
    {
        echo "Kitap adi: ".$oku[1]."<br>Kitap ISBN: ".$oku[0]."<br><br>";
        //echo $.oku[2]; //bu satir hatalidir cunku sql sorgumuzda üçüncü bir alan(yazari alanini) secmedik
    }
}else{
    echo "Hic kayit yok!";
}

mysql_close($conn);

?>


mysql_fetch_array()
 

        mysql_fetch_array, mysql_fetch_assoc ve mysql_fetch_row fonksiyonlarının birleştirilmiş hali olarak düşünülebilir. Kullanım sırasında aldığı ikinci parametre (MYSQL_ASSOC, MYSQL_NUM, MYSQL_BOTH) diziye erişim sırasında kullnacağınız index anahtarı tipini belirlemenizi sağlar.
<?php

require_once("./baglan.php");

$sonuc = mysql_query("select isbn,adi from kitaplar");

if(mysql_num_rows($sonuc)!=0)
{
    while($oku = mysql_fetch_array($sonuc,MYSQL_BOTH))
    {
        echo "Kitap adi: ".$oku[1]."<br>Kitap ISBN: ".$oku["isbn"]."<br><br>";
        //echo $.oku[2]; //bu satir hatalidir cunku sql sorgumuzda üçüncü bir alan(yazari alanini) secmedik
    }
}else{
    echo "Hic kayit yok!";
}

mysql_close($conn);

?>
 


MYSQL_ASSOC Fonksiyon kullanımı mysql_fetch_assoc ile aynı olacaktır.Dizi elemanlarına sütun ismi ile ulaşılabilir
MYSQL_NUM Fonksiyon kullanımı mysql_fetch_row ile aynı olacaktır.Dizi elemanlarına sütun numarası ile ulaşılabilir
MYSQL_BOTH Dizi elemanlarına hem sütun adı hem sütun numarası ile ulaşılabilir


mysql_result()

        mysql_result, sql sorgusundan tek bir sütun içeriğini çeker. Örneğimizde sadece adi sütunu üzerinde işlem yapacağız. Sorgudan hemen sonra sonuç kümesinin satır sayısını $satir içerisine alıyoruz ve $basla değişkenini sıfıra eşitliyoruz. Ardından sonuç kümesi satır sayısı sıfıra eşit değilse(boş değilse), okunan satır sayısı toplam satır sayısına eşitlenene kadar dönecek bir döngü bloğu içerisinde mysql_result kullanıyoruz. İşlemlerin sonunda mysql bağlantısını kapatıyoruz.
<?php

require_once("./baglan.php");

$sonuc = mysql_query("select adi from kitaplar");
$satir = mysql_num_rows($sonuc);
$basla = 0;

if($satir!=0)
{
    while($basla<=$satir)
    {
        echo "Kitap adi: ".mysql_result($sonuc,$basla); //her satırdaki adi kolonu
        $basla++;
    }
}else{
    echo "Hic kayit yok!";
}

mysql_close($conn);

?>


mysql_fetch_object

Kaynak:Baturay Daylak
Yorumunuzu Ekleyin
Php İle Mysql Veritabanından Bilgi Çekme Yorumları +7 Yorum
  • Halis
    1
    Halis
    nesne yönelimli olarak veri çekerken assoc kullanıyodum bi türlü ekrana veri yazdıramadım aradığım şey fetch_object mi bnm için çok yararlı oldu teşekkürler
    16 Ekim 2012 14:42:16, Salı
  • selim
    1
    selim
    merhaba ben basit bir rezervasyon sistemi yapacağım, dönem ödevim olduğu için erkenden yapmam lazım. anlatıyorum... veri tabanındaki rezervasyon tablosunda oda seçeneğinden gelen veriye göre hareket edeceğim yani bu sayfada yazağım kodların algoritması şöyle olacak... sayfa load olduğunda veri tabanı kontrol edilecek "oda" alanında 1 var mı var ise 1. radio yu disable yap , 2 var mı var i ise 2. radio yu disable yap yok ise birşey yapma .... bu şekilde olacak sadece oraya yazacağım kodlar hakkında yardımcı olsan çok minnettar olacağım
    12 Aralık 2012 22:30:41, Çarşamba
  • Salih
    1
    Salih
    Verdiğiniz bilgiler için teşekkürler. Benim bikaç sorum olacak elimde cms çince sistemler var çinin baidu haritasını kullanıyor bende yerine yandex haritalarını kullanmak istiyorum haritada konumları elle girmek gerekiyor fakat her kullanıcının farklı adresleri var bunuda sqlden çekmek istedim olmadı... Bana yardımcı olabilirmisiniz?
    04 Nisan 2013 21:19:43, Perşembe
  • sdfsdfs
    1
    sdfsdfs
    En İyisi Sheel :
    14 Haziran 2014 18:33:39, Cumartesi
  • ufuk
    1
    ufuk
    Paylaşım için teşekkürler, Benim sorum şu şekilde olucak; veri çekmek için neden aynı işi yapan bu kadar fonksiyona ihtiyaç duyulmuştur? Acaba bu fonksiyonların birbirine göre veri çekme işlemini yaparken bir güvenlik zaafiyet dereceleri var mıdır? Hangisini kullanmalıyız?
    15 Haziran 2014 05:31:17, Pazar
  • ozge
    1
    ozge
    Çok faydalı bir yazı olmuş. Elinize sağlık. Tez konumda bana faydası olacak bayaaa http://www.ledtvfiyatlari.net/
    29 Eylül 2014 12:20:43, Pazartesi
  • cem
    1
    cem
    merhabalar arkadaslar gunlerdir yapamadigim bir sorunu sizlerle paylasmak istiyorum.

    benim bir sitem var ve siteye kayitli olan br kisi siteye ilan verdi diyelim ve siteye verilen ilaniben ilan verenin kac ilan verdigini ona rakam olarak gostermek istiyorum. yani toplamornek diyeleim

    verilen ilan 1diye yazdirmak istiyorum tabi her ilan verdiginde bu rakamlar artacak ilan durumuna gore,,php bilgim fazla degim girilienilani rakam ile gostermek istiyorum. yardim icin cok tesekurler...
    08 Kasım 2015 11:28:34, Pazar

Kurallı İfadeler (regex Engine)

Bir regex'in gerçekte nasıl çalıştığını bilmek daha efektif çalışan regex ifadeleri oluşturmamızı ve regex'leri daha isabetli oluşturmamızı sağlar. Bu yazımızda oluşturduğunuz regex ifadelerinin neden beklediğiniz sonuçları vermediğini ve umduğunuz eşleşmeleri yerine getirmediğini öğreneceksiniz. Bu da bizim tabir yerindeyse daha az kafa patlatmamızı ve daha az zaman harcamamızı sağlayacaktır.

41,771 Okunma 1 Yorum 14/07/2007 05:23:11

Nesneye Yönelimli Php

Classlarla ilgili ingilizce bir makale

34,833 Okunma Henüz yorum yapılmamış 06/01/2008 11:24:59

PHP ile PDF dosya oluşturmak

Php ile yeni bir pdf dosyası oluşturmak : Öncelikle php ile pdf işlemleri yapmak için bir pdf kütüphanesine ihtiyacınız olacak

33,421 Okunma Henüz yorum yapılmamış 06/09/2007 01:22:38

PHP nedir?

HTML kodlarının arasına yerleştirilmiş php kodlarından ayrıştırıp işleyerek sonuçta saf HTML formatında bir çıktı üretmek ve Web sunucusuna iletmektir.

32,620 Okunma Henüz yorum yapılmamış 26/09/2011 14:50:52

$_FILES

Örnek kod ve açıklamalar

32,097 Okunma 4 Yorum 30/12/2007 13:36:25

Oop - Nesne Yönelimli Programlama

Artık ister istemez her programcının bulaştığı bu teknik hakkında sayısız makale yazılmıştır bu güne kadar. Bu makale de onlardan biri

26,278 Okunma 1 Yorum 06/01/2008 11:26:55

$_SERVER

$_SERVER host bilgileri, header bilgileri, yollar ve script yolları gibi bilgileri içeren bir dizidir. Bu dizideki değerler web server tarafından üretilir. Tüm server yazılımlarının, tüm değerleri atayacağına dair bir kesinlik yoktur. Yazılım bazılarını atamayabilir, veyahut burada anlatılacak değerlerin haricinde değerler ekleyebilir

25,922 Okunma Henüz yorum yapılmamış 23/10/2007 00:51:55

Php ile Oturum Yönetimi (SESSION)

Türkçesi oturum anlamına gelen session bilgilerin saklanması için kullanılan mantıksal bir nesnedir.Session oturum yönetimini kullanarak şifreli sayfalar oluşturarak ve bu sayfaları belirlediğiniz kullanıcıların görmesini sağlayabilirsiniz.

25,912 Okunma Henüz yorum yapılmamış 22/05/2013 16:29:40 22/05/2013 16:29:55

Xampp Kurulumu

Xampp apache, mysql, php ve phpmyadmin için kolay ve basit kurulum sağlayan bir uygulamadır.

25,045 Okunma Henüz yorum yapılmamış 19/12/2011 10:00:36

Verileri doğrulamak için PHP ile filtreleme işlemleri

Ziyaretçilerden gelen verilerin istediğimiz formata uygunluğunu kontrol etmeliyiz ki, güvenlik açığı yaratmayalım. E-postaları, web adreslerini, bilgi girişlerini ve dahasını Her birine uygun farklı fonksiyonlar yazıldı bu vakte kadar. Ancak PHP 5.2.0 ve üstü sürümlerde bu fonksiyonlara gereksinim azaldı. Çünkü PHP filtreleme fonksiyonları standart oldu.

24,342 Okunma Henüz yorum yapılmamış 02/12/2008 04:19:24

Php İle Excel Dosyası Oluşturmak

Genelde, herhangi bir biçimlendirme söz konusu olmadığında, veritabanındaki bir bilgiyi ya da başka bir tabloyu excel ortamına aktarmak için csv yöntemini kullanırım. Bu yöntem herkesin bildiği gibi, her sütunu tab ya da noktalı virgül gibi bir karakterle ve her satırı da enter karakteri ile bölmekten ibaret. Ama biçimlendirme söz konusu olduğunda, mesela sütunlara bir genişlik vermek, yazıları bold yapmak, bazı hücreleri sayı ya da para tipine çevirmek gibi biçimlendirmelerde bu yöntem işe yaramamakta.

24,045 Okunma 1 Yorum 22/07/2008 01:35:17

$_ENV

23,923 Okunma Henüz yorum yapılmamış 31/12/2007 09:46:00

En iyi 25 php template motoru

Php tabanlı web siteleri dizayn ederken, php kodlarını html kodlar arasına gömeriz. Fakat gün gelir bu kodları düzenlemek istediğimizde çok büyük bir çaba gerektirir. Bu tarz durumlarla başa çıkabilmek için ve daha kararlı bir sistem kodlamak için tema sistemleri geliştirebilirsiniz. Tema sistemi ya da motorlarının asıl amacı, php kodları ile html kodlarını birbirinden ayırmaktır. Böylece hangi kod üzerinde değişiklik yapmanız gerekiyorsa, kendisine ait dosyalarını açarak bu işlemi gerçekleştirebilirsiniz

23,573 Okunma Henüz yorum yapılmamış 16/02/2008 01:35:10

Php Mysql to XML

Bu yapıyı geliştirerek mysql veritabanınızdaki datalarınızı xml standartlarına dönüştürebilirsiniz.

23,254 Okunma Henüz yorum yapılmamış 05/10/2008 01:56:47

Dizi Tanımlamaları

PHP’de array tanımlayıcısını kullanarak içerisinde elemanları yerleştirmek yoluyla ya da index numarasını köşeli parantezler içerisinde belirterek atama yaparak dizi oluşturmak mümkündür

23,041 Okunma Henüz yorum yapılmamış 23/10/2007 00:36:18

Harici Dosya İnclude

İnclude kullanımı ve örnekler

22,892 Okunma Henüz yorum yapılmamış 14/04/2008 01:42:12

$_REQUEST

$_GET, $_POST, ve $_COOKIE değişkenlerini içeriğinden meydana gelen çağrışımlı bir dizidir. Bu değişken bir superglobal olduğu için tüm alanlarda (scope) geçerlidir ve bundan dolayıdır ki global $_REQUEST ; şeklinde bir tanımlamaya ihtiyaç duymaz. Eğer register_globals değişkeni php. İni de ayarlanmışsa bu değişken her yerde (Global Scope) kullanılabilir

21,626 Okunma Henüz yorum yapılmamış 24/12/2007 00:16:58

if Kullanımı

19,691 Okunma Henüz yorum yapılmamış 09/04/2012 10:31:35 20/09/2014 18:01:36

Php Regular Expression

İngilizce bir makaledir.

19,467 Okunma Henüz yorum yapılmamış 27/03/2008 13:38:11

Yükleniyor...