Pdo Sorunu

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek

    Hocalar şöyle bir sorunum var.  Pdo dan mesela insert işlemi yapıyorum local de örneğin veritabanında  int olan alana bindparam fonksiyonuna string gönderiyorum.  İşlemin sonucunda veritabanına null ekliyor string gönderdiğim için. Ama sunucu da queryler gümlüyor sorunun nerde olduğunu bulamıyorum. Tek tek ajax dosyasına gelen verileri okuyorum ordan gönderdiğim verileri okuyorum query oluşturuyorum 0 dan ve veri tabanına o query çalıştırıp hatayı anca görüyorum...  Bu da zulüm oluyor bana. 

    Çözüm yolu olarak düşünüp yapamadığım şeyler. 

    Örneğin query execute ettikten sonra $Query True dönmesine rağmen veritabanında sıkıntı oluyor bu query den oluşan sorunu nasıl yakalayabilirim? 

    Localde ki gibi query patlamasın veriyi eklesin ama eğer yanlış biçimde geliyorsa onu null atasın gibi nasıl yapabilirim. Mesela varchar 5000 yapmışım diyelim adam 1 tane fazla karakter girse Query güm ediyor local de fazlalık Olan 1 karakteri almıyor phpini ile alakalı mı bilemedim. 


    Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu önünden (ahiret dünyadan) daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken (doğru) yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? Öyle ise, sakın yetime kahretme (onu horlama)! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YeniHarman
    YeniHarman's avatar
    Kayıt Tarihi: 17/Haziran/2012
    Erkek

    Bunun vt ile alakası var ama önce sen gelen veriyi filtrelemelisin. Int isteyen yere int yolladığından, varchar'ın limiti aşmadığından emin olmalısın.

    İkinci olarak pdo'nun istisna yönetimini kullanabilirsin. Ayrıca transaction da ekleyebilirsin (önemine göre). transaction sayesinde vtdeki değişiklikleri hata durumunda geri alabilirsin.

    transaction: https://stackoverflow.com/questions/24408434/pdo-transaction-syntax-with-try-catch

    https://secure.php.net/manual/tr/pdo.error-handling.php

    istisnaları da loglarsan kolaylık olur hata denetiminde.


    Olaylara karışmayın!
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek
    YeniHarman bunu yazdı

    Bunun vt ile alakası var ama önce sen gelen veriyi filtrelemelisin. Int isteyen yere int yolladığından, varchar'ın limiti aşmadığından emin olmalısın.

    İkinci olarak pdo'nun istisna yönetimini kullanabilirsin. Ayrıca transaction da ekleyebilirsin (önemine göre). transaction sayesinde vtdeki değişiklikleri hata durumunda geri alabilirsin.

    transaction: https://stackoverflow.com/questions/24408434/pdo-transaction-syntax-with-try-catch

    https://secure.php.net/manual/tr/pdo.error-handling.php

    istisnaları da loglarsan kolaylık olur hata denetiminde.

    Filtreliyorum abi her input'a max min value ekliyorum ama şöyle sıkntı var . zibilyon tane input var ve ben sürekli olarak localde çalışıp modül bitmeden sunucuya atmıyorum.. Mesela bazen sunucuya atıyorum tam test ederken biyer patlıyor hangisi olduğunu bulamıyorum bu sebepten dolayı o yüzden kafamda "?" oluşuyor ama şu Exception Handling'e bakayım çok teşekkürler :)


    Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu önünden (ahiret dünyadan) daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken (doğru) yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? Öyle ise, sakın yetime kahretme (onu horlama)! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YeniHarman
    YeniHarman's avatar
    Kayıt Tarihi: 17/Haziran/2012
    Erkek

    Birim testi diye bir şey icat etmişler aslanım:) Html tarafındaki filtreler güvenlik sağlamaz, unutma. 


    Olaylara karışmayın!
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    camarade
    ontedi
    ontedi's avatar
    Kayıt Tarihi: 04/Eylül/2005
    Erkek

    Maxlength="50"

    Öğeyi denetle > Edit HTML > Maxlength="51"

    O zaman patlar. Php taraflı kontrol edilmesi gerekiyor.


    Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek

    @YeniHarman , söylediğin şeyden bi. Haberim abi şuan yaptığım işler günü kurtarsın kafası olduğundan çok fazla uçmadım. Ama biraz kendimi. Alıştırmasam kendimi iyi olcak bu duruma :D 

    @ontedi php bir class yazsam iyi olcak bu durum için sanırım :D teşekkürler abi 


    Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu önünden (ahiret dünyadan) daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken (doğru) yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? Öyle ise, sakın yetime kahretme (onu horlama)! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!
Toplam Hit: 1078 Toplam Mesaj: 6
pdo