Mysql Ders 2 - Veritabanından bilgi almak

Şu iki soruya cevap veremiyorsanız lütfen önce birinci dersi okuyun: Veritabanı nedir ?

Veritabanı Nedir?
Veritabanı nasıl çalışır ?

 

MYSQL ile BİLGİ OKUMAK


Bir önceki derste veritabanının ne olduğunu öğrendik. Bilgi silme komutunu kullandık. şimdi veritabanından basit bir bilgi alalım. ve onu kullanıcıya gösterelim.

Önce yapacağımız işin mantığına bakalım.

mysqlders2

1- Veritabanına Bağlan: Veritabanına neden bağlanıyoruz. çünkü veritabanı ayrı bir programdır. ayrı bir bilgisayarda hatta başka bir ülkede bile olabilir.Başta bu size garip gelebilir ama veritabanı ile Php nin aynı bilgisayarda olması şart değildir. Bu sebeple aynı bilgisayarda olsun veya olmasın hiç farketmez. bağlanma komutu kullanmamız gerekir.

 

Bağlanmak için mysql_connect isimli komut kullanılır. Connect kelimesi size çok yabancı geliyorsa şunu dinleyin. Nokia Connecting people: nokia insanları birbirine bağlar, iletişim kurar (biraz raklama girdik ama aklıma daha basit örnek gelmedi. buradaki bağlamak iletişim anlamında kullanılıyor. o reklamdaki sloganı hatırladıysanız bunu birdaha unutmazsınız) Bilgi almadan önce Mysql ile Php yi birbirine iletişim kurdurmamız gerekiyor.

Kütüphane örneğini düşünün, bir şekilde iletişim kurup sesimizi iletmemiz gerekiyor.

 

komut kullanımı:

mysql_connect("adres","isim","şifre");

 

buradaki adres kelimesi artık sizin için birşey ifade ediyordur. Eğer veritabanıaynı bilgisayarda ise adres olarak "localhost" yazacağız. veritabanı uzak bir bilgisayarda ise onun adresini yazacağız.

Peki şunu soruyor musunz: isim ve şifre ne işe yarıyor. neden şifre gereksin ki ? 

Bende size şunu sorayım: Şifre olmazsa herkes bizim kütüphanemize ulaşıp bilgi silebilir mi ?

Cevap : Evet, Eğer veritabanı şifreli olmasaydı herkes girip bilgilerimizi silebilirdi.

 

2- Veritabanı seçim işlemi: ikinci aşama olarak kullanacağımız kütüphanedeki rafları seçmemiz gerekiyor. Bu rafları istediğimiz kadar çoğaltabiliyoruz. yani kütüphanemizde sadece bir raf yok. bu durumda kütüphaneciye hangi raftan bilgi istediğimizi söylememiz gerekiyor.

komut kullanımı:

mysql_select_db("raf adı")

 

3- Bilgi isteyelim: bu aşamaya kadar bir yanlışlık yapmadıysak veritabanından bilgi isteyebiliriz.  tek yapmamız gereken. Query dilinde doğru cümleyi kurmak.

 


$bilgi = mysql_query("SELECT * FROM kitap ");   

Burada bilgi istemek için kullandığımız komut aslında mysql_query( ) kısmı. kütüphaneciye söyleyeceğimiz cümleyi ise bu iki parantez arasına yazıyoruz.

Query:     "SELECT * FROM kitap"

Türkçesi: "Kitaptaki herşeyi ver"


Bu durumda kitapta birşeyler yazıyorsa görevli eleman hepsini fotokopi çekip elimize verecektir. Aldığımız $bilgi aşağıdaki gibi olacaktır.

mysqlderskayit

Tam bu nokta olayın kilit noktasıdır. dikkat edin. Kütüphaneci bize tek tek isimleri falan vermiyor.  Elimize uzun bir listeyi toplu halde veriyor.Bu aşamada Listeyi dilerseniz tek tek okursunuz dilerseniz başka biryere kaydedersiniz. Şimdi listedekileri tek tek okuyalım.

Listeyi okumak için gerçek hayatta ne yapıyorsak aslında Php ile aynısını yapacağız. En üstten başlarız ve her satıra tek tek bakarız.

 

4- Gelen bilgiyi parçala : Gelen bilgi büyük bir tablo halinde olduğu için hepsini bir anda okuyamayız. Bilgiyi ancak satır satır okuyabiliriz. bu işlemi yapmak için de mecburen döngü kullanmamız gerekir. çünkü başka şekilde php ile her satıra sıra ile bak dememiz mümkün değil.

 

komut kullanımı:

mysql_fetch_array( ): Anlamı; Bu komutta parantez içindeki bilginin bir satırını al demektir. bu komutla birlikte While döngüsü kullanıldığında her satıra tek tek bakmış oluruz.

 

while($satir=mysql_fetch_array($bilgi))
{

     // okuma burda yapılacak

}

Döngü çalıştığında her satıra tek tek bakacak ve tablodaki tüm satırları dolaşacaktır.

okumak için print komutu kullanacağız.

while($satir=mysql_fetch_array($bilgi))
{
    print $satir["AD"];

}

Yukarıdaki komut çalıştığında sadece listedeki isimleri yazar. Eğer yanına kişinin soyadını da yazmak istiyorsanız ne yapacağınızı siz düşünün. onu bulursanız dersin özünü anladınız demektir. Geriye kalan komutları şimdilik ezberlemek zorunda değilsiniz. Acemilikte kopyalayıp kullanabilirsiniz. bir süre sonra bu komutları zaten adınız gibi biliyor olacaksınız.

Hepsinin bir ara toplu görüntüsü:

mysql_connect("adres","kullanıcı adı","sifre");

mysql_select_db("raf ismi");

$bilgi = mysql_query("SELECT * FROM kitap "); 
 
while($satir = mysql_fetch_array($bilgi)
{
    print $satir["AD"];
}


Not: Bu komutları php ile çalıştırıp denemeyin. çünkü sizin bilgisayarınızda raf ismi diye bir kayıt henüz yok. veya şifre diye bir bilgiyi henüz girmedik. burada işin özünü anlamaya çalışın. bir sonraki dersimizde bunun canlı uygulamasını yapacağız.

Her programcı birgün Php yi tadacaktır
2009-11-15 08:45:50

    Ders 2 Cevap

    Emrets61 Emre Özçelik

    mysql_connect("adres","kullanıcı adı","sifre"); <-- Veritabanına bağlantı kuruluyor.

    mysql_select_db("raf ismi"); <-- İstenilen bölüm seçiliyor.

    $bilgi = mysql_query("SELECT * FROM kitap "); <-- Kitap tablosundan tüm bilgiler isteniyor. Bu bilgilerin $bilgi adlı değişkene aktarılacağı yazıyor.
     
    while($satir = mysql_fetch_array($bilgi) <-- $satir değişkeninin, $bilgi değişkeninin parçalanmış haline getireleceği yazıyor.
    {
        print $satir["AD && SOYAD"]; <-- AD ve SOYAD satırlarının yazılacağı yazıyor. Buradaki ´&&´, ´ve´ anlamıda gelmektedir.
    }


    Umarım doğrudur. smiley

    2009-11-25 04:44:09

      ders 2 cevap

      omercetin78 Omer Faruk Avatar

      emre kardeş sanırım yazdıklarının hepsi doğru... :) yanlış yok gibi görünüyor.... :) öz olarak yazdığın için de ayrıca teşekkürler... :) ;)

      2009-12-01 04:19:26

        Edit:

          Php

          seyko fikretyalcin Avatar

          necmi hocam eliniz ayagınız gözünüz dert görmesin inşallah sayeniz de çalışan bir veri tabanım oldu ;)

          2012-03-14 23:07:22

            phpkodlari.com © 2009 Herkes Php öğrenecek
            Eglence ve Oyun: Gamikro