folder Tahribat.com Forumları
linefolder Asp - Php - Cgi - Perl
linefolder Php - Mysql_Query Hata Denetimi



Php - Mysql_Query Hata Denetimi

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hunter
    j4x
    j4x's avatar
    Kayıt Tarihi: 16/Temmuz/2005
    Erkek

    mysql_query("INSERT INTO uyeler VALUES('id','üyeadı','şifre')");

    bu gibi querylerde, querynin başarıyla çalışıp çalışmadığını nasıl anlarız?Yani if le bakcam başarılı olmuşsa, hayırlı olsun , yoksa hata oluştu dicek.

    (php icinden phpmyadmine bak gibi cevaplar yazilmasin :P)


    The king is bleeding.
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SPY-CX5
    SPY-CX5's avatar
    Savaş Madalyası Üstün Hizmet Madalyası Savaş Madalyası
    Kayıt Tarihi: 03/Mart/2007
    Erkek

    if (mysql_query("INSERT INTO uyeler VALUES('id','üyeadı','şifre')"))
    {
    echo "ok oldu";
    }
    else
    {
    echo "hata var siktir";
    }

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hunter
    j4x
    j4x's avatar
    Kayıt Tarihi: 16/Temmuz/2005
    Erkek

    saol da baktim php sitesinden, mysql_query syntaxa gore true/false donduruomus. orda yazana gore.

    bide ben

    $x=mysql_query("INSERT INTO uyeler VALUES('id','üyeadı','şifre')");

    if (!$x)

     {

    print "hata war"; 

    bu sekilde ayni seyi ifade etmiormu?Bu olmuyor da .


    The king is bleeding.
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Arlong
    Arlong's avatar
    Kayıt Tarihi: 14/Şubat/2005
    Erkek
    gVeR bunu yazdı:
    -----------------------------

    saol da baktim php sitesinden, mysql_query syntaxa gore true/false donduruomus. orda yazana gore.

    bide ben

    $x=mysql_query("INSERT INTO uyeler VALUES('id','üyeadı','şifre')");

    if (!$x)

     {

    print "hata war"; 

    bu sekilde ayni seyi ifade etmiormu?Bu olmuyor da .


    -----------------------------
    aynı şeyi ifade etmesi lazım hangi hata veriyo birde php5de trylı catchli hata yoneticisi var ona gecsene artık
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hunter
    j4x
    j4x's avatar
    Kayıt Tarihi: 16/Temmuz/2005
    Erkek

    hata wermior, calismior.

    if (!$x)

    print "bilmemne";

    diorm, calismasa bile bilmemne yazmior.O sql in basarili calisip calismadigina deil syntax in dogru olup olmadigina bakiormus sanirsam.

    php.net ten baktim ve anladigim kadariyla 


    The king is bleeding.
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hunter
    j4x
    j4x's avatar
    Kayıt Tarihi: 16/Temmuz/2005
    Erkek
    halen yardim beklenior pehepeciler

    The king is bleeding.
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SPY-CX5
    SPY-CX5's avatar
    Savaş Madalyası Üstün Hizmet Madalyası Savaş Madalyası
    Kayıt Tarihi: 03/Mart/2007
    Erkek

    Hocam hatadan kastin nedir?

    insert kodunda hata varsa, benim bildiğim kullanıcıya yansıtamazsın. Ama tablo oluştururken sütünü birincil yaptın diyelim aynı kaydı ikinci girişinde ifle yazdığım kodun çıktısı, "hata var siktir" olacaktır.

    Ayrı bir konuda, senin yazmış olduğun kodun benimkiyle çok farkı yok, anlatıma gelecek olursak;

    $sql="insert into uyeler (id,user,sifre) values ('id','üyeadı','şifre')"; // buradaki (id,user,sifre) sütün isimleri oluyor. valuesteki değerlerde formdan gelen veriler oluyor.

    $x=mysql_query($sql);  // $x değişkendir, değişkenimizi tanımladık. (insert kodunu düzenledim, çalışması lazım)

    if (!$x) // !$x demek, eğer sonuç false yani olumsuzsa printi çalıştır demektir.
    {
    print "hata war";
    }

  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hunter
    j4x
    j4x's avatar
    Kayıt Tarihi: 16/Temmuz/2005
    Erkek

    hojam simdi 

    if (mysql_query("INSERT INTO uyeler VALUES('id','üyeadı','şifre')"))

    bu query i ekledim sayfaya.Adam tam üye olcakken, server da mysql kapandi.Bu durumda bu uyelik eklenemeyecek.İste ben eklenip eklenemedigini nasil anlayacam?.Yada

    mysql_query("SELECT uye_adi FROM uyeler WHERE id='999999'");

    simdi adam idyi 9999999 girdi bole bi id yok normalde.Simdi bunu mysql_result fln kullanmadan hatali oldugunu nasil anlarim?

     

    ikisiden biri yeterli :P 


    The king is bleeding.
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SPY-CX5
    SPY-CX5's avatar
    Savaş Madalyası Üstün Hizmet Madalyası Savaş Madalyası
    Kayıt Tarihi: 03/Mart/2007
    Erkek

    Birinci MySQL kapanması ve connection hataları için, bağlantı kodunu şu şekilde düzenlemen gerekli;

    @mysql_connect(bağlantı bilgilerin) or die ("MySQL Bağlantısı Sağlanamadı");
    @mysql_db_select(bağlantı bilgilerin) or die ("DB Seçilirken Problem oluştu");

    Buradaki @ PHP'nin kendi hatasını gizlemen içindir, bu bağlantı bilgilerin include veyahut sayfanın üstünde kod ile ekliyse DB problemlerinde sitede aynen o hatayı verecek ve işlem yapılmayacaktır.

    İkinci sorunada, sanırsam sen o id'i get ile alacaksın açıklamaya gelince;

    URL şu: "uyedetay.php?id=99999" adam burdaki idi salladı ve böyle bir id yok, sende id de bir kullanıcı olmadığı için hata verdirtmek istiyorsun sanırsam. Bunu yapabilmen için mysql_num_rows kullanmalısın şu şekilde olabilir;

    $sql=mysql_query("SELECT uye_adi FROM uyeler WHERE id='999999'"); // o idi get ile aldığını varsayıyorum

    if (mysql_num_rows($sql)=="0") // hata varsa 0 değeri alınır
    {
    echo "böyle bir kullanıcı yok";
    exit; // yürülmekte olan işlemi durdurur alttaki kodları çalıştırmaz
    }

Toplam Hit: 1969 Toplam Mesaj: 9