folder Tahribat.com Forumları
linefolder Database - Veritabanı
linefolder Stored Procedure PHP İle Kullanımı Hakkında



Stored Procedure PHP İle Kullanımı Hakkında

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Espo
    Espo's avatar
    Kayıt Tarihi: 17/Eylül/2010
    Erkek

    sql sorgusu: select * from kullanicilar, yetkiler where yetkiler.kullanici_id = kullanicilar.kullanici_id 

    böyle bir sorgumuz var diyelim. bunu store procedure olarak yazdık direk bu şekilde. sonra bunu php içerisinde 

    call kullanicilar(); 

    olarak çağırdık. fakat şuanda elimde olan yukarıdaki sorgu. ben bu sorguda php ile şu değişikliği yapmak istiyorum, 

    select * from kullanicilar, dersler where dersler.kullanici_id = kullanicilar.kullanici_id 

    bunu nasıl yaparım hocam ? 

     


    birde şöyle bir örneğimiz var diyelim,

     

    —CREATE PROCEDURE naber(IN gelen VARCHAR(10), OUT giden VARCHAR(30))
    BEGIN
       IF(gelen = "iyi") THEN
         SET giden = "Güzel.";
       ELSEIF(gelen =“kötü“) THEN
         SET giden = "Neden kötüsü.";
       ELSE
         SET giden=“Ne dedin?“;
       END IF;
     END //
    mesela php de 
    if ($i>10) echo "büyük"; else echo "küçük"; 
    mesela bunda olay basit. $i nin büyük olup olmadığına bakıyor ve ben bu değişkenin değerini değiştirerek sonucu değiştiririm. fakat mysql de sorguyla sonucu değiştirme olayı nasıl olacak ? 

     

    teşekkürler


    Yeni bir iş, yeni bir aş, yeni bir hayat. Sil baştan başlamak gerek bazen modunda. Artık buralarda yokum :) Hepinizi seviyorum, muck.
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Espo
    Espo's avatar
    Kayıt Tarihi: 17/Eylül/2010
    Erkek

    upp.. hocalar yarına anlatıcam bu konuyu okulda. yardım lütfen :S


    Yeni bir iş, yeni bir aş, yeni bir hayat. Sil baştan başlamak gerek bazen modunda. Artık buralarda yokum :) Hepinizi seviyorum, muck.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Buremba
    Buremba's avatar
    Kayıt Tarihi: 16/Haziran/2006
    Erkek

    hocam yapmaya çalıştığın şeyi anlamadım açıkcası. ama iki sorgunda da sorun var. ilk sorgunda o şekil kullanmak yerine inner join kullanman daha kullanışlı olur. aynı işi yapıyor zaten. inner join left join right join gibi kullanımlar var, 2. sorgundaki de tamamen yanlış ki yapmaya çalıştığın şey zannediyorum ikisi eşitse sonucu döndür demek. o işi de inner join yapıyor. sonuç olarak iki sorgun da aynı yere gidiyor. :)


    . . .. . ... .
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    attackatak
    attackatak's avatar
    Kayıt Tarihi: 06/Mayıs/2007
    Erkek

    Usta bunu bu şekilde kullanırsan hocadan 0'ı alırsın :select * from kullanicilar, yetkiler where yetkiler.kullanici_id = kullanicilar.kullanici_id

    Doğrusu bu olacak : select * from kullanicilar inner join yetkiler on kullanicilar.kullanici_id = yetkiler.kullanici_id

     

    Demek istediğine gelince onu ben de anlamadım. Php'den anlamam ama prosedürden cevapları dataset olarak alırsın. Yani prosedüründe 2 tane ayrı select sorgusu çekersen 2 ayrı tablo alırsın. İşini görür sanırım.

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    geniuss
    geniuss's avatar
    Kayıt Tarihi: 12/Nisan/2007
    Erkek

    Buremba bunu yazdı:
    -----------------------------

    hocam yapmaya çalıştığın şeyi anlamadım açıkcası. ama iki sorgunda da sorun var. ilk sorgunda o şekil kullanmak yerine inner join kullanman daha kullanışlı olur. aynı işi yapıyor zaten. inner join left join right join gibi kullanımlar var, 2. sorgundaki de tamamen yanlış ki yapmaya çalıştığın şey zannediyorum ikisi eşitse sonucu döndür demek. o işi de inner join yapıyor. sonuç olarak iki sorgun da aynı yere gidiyor. :)


    -----------------------------

    hocam adam ne sormus sen ne anlatmisim :), bide ha inner joinle yapmisin ha oyle yapmisin ayni sorgusunda hicbir sorun yok

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Espo
    Espo's avatar
    Kayıt Tarihi: 17/Eylül/2010
    Erkek

    yav hocalar cevabımı alamadım ya :S

    benim yapmak istediğim sql sorgusuyla yazdığım if yapısının sonucunu php ile değiştirmek vede php ile oluşturmuş olduğum procedure sorgusunu değiştirmek istiyorum.


    Yeni bir iş, yeni bir aş, yeni bir hayat. Sil baştan başlamak gerek bazen modunda. Artık buralarda yokum :) Hepinizi seviyorum, muck.
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ByFox
    ByFox's avatar
    Kayıt Tarihi: 11/Ocak/2009
    Erkek

    anladığım kadarıyla dışardan verigirişi yapacan sonrasındada yaptırmak istedigin işlemi yaptıracan.Bunun için bir değişken tanımlarsın gelen degeri okutursun. Ben php bilmiyorum ama mantık aynıdır googleden hemen baktım 2.sonuca tıkladım ve karşıma şöyle bir kod blogu geldi bak incele bir işini görecektir umarım

    <?php 
    
    /* Store Procedure veritabanı bağlantısı */ 
    
    $baglanti = mysqli_connect('localhost','kullaniciadi','sifre','veritabaniadinizı'); 
    
    if (!$baglanti) { 
    
    printf("Can't connect to MySQL Server. Errorcode: %s\n", mysqli_connect_error()); 
    
    exit; 
    
    } 
    
    $result = mysqli_query($baglanti, "call kisigetir('".$addegiskeni."','".$soyaddegiskeni."','".$yasdegiskeni."')") ; // call kisigetir ile prosedurü çağırıyoruz ve parametreleri veriyoruz. 
    
    while( $row = mysqli_fetch_array($result) ){ 
    
    echo ($row[0]."<br>"); 
    
    } 
    
    mysqli_free_result($result);  // Sorgu sonucu hafızadan temizleniyor 
    
    mysqli_next_result($baglanti); // bir sonraki result değeri için bağlantıyı serbest bırakıyoruz 
    $result = mysqli_query($baglanti, "call kisigetir('".$addegiskeni."','".$soyaddegiskeni."','".$yasdegiskeni."')") ; // call kisigetir ile prosedurü çağırıyoruz ve parametreleri veriyoruz. 
    
    while( $row = mysqli_fetch_array($result) ){ 
    
    echo ($row[0]."<br>"); 
    
    } 
    
    
    ?> 


    Bla Bla Bla
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    PHP-SEO Developer
    Erdem
    Erdem's avatar
    Kayıt Tarihi: 04/Haziran/2002
    Erkek

    stored procudere yi inceleyeceğim.

    çizik atıyorum

     


    Php for SEO nun ardından Php for Gcode (CNC)
Toplam Hit: 1324 Toplam Mesaj: 8