folder Tahribat.com Forumları
linefolder Asp - Php - Cgi - Perl
linefolder Php Veri Ekleme Sorunsalı ?



Php Veri Ekleme Sorunsalı ?

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    arkinfes
    arkinfes's avatar
    Kayıt Tarihi: 07/Haziran/2007
    Erkek

    Merhabalar, 

    ilk öncelikle herkese iyi akşamlar.

    Benim mysqlde terimler diye tablom var bunda terim,anlami diye stünlarım var php PDO ile veri ekliyorum diyelim mesela eklediğim terim başlığı "A" ise veya "Abdal" gibi kısaysa veri tabanına eklemiyor hiç hatada vermiyo ama ekleme yapmıyor .

    sizce bu neden olabilir ?

     kaydeden kısımda 

                                  $kaydet = $dbcon->exec("INSERT INTO terimler (terim,anlami,dil,tarih,onay) VALUES ('$terim','$anlami','$dili','$tarih','$onayi')");

                                  if($kaydet){  vs. vs. bıdı bıdı

     

     

    arkinfes tarafından 21/Mar/17 19:14 tarihinde düzenlenmiştir

    Do majör soylu ve açık sözlü , Do minör patetik , Re majör parlak , Re minör melankolik , Mi bemol majör soylu ve patetik , aydinlik ama soylu ve karamsar tonmu lazim ozaman; mi majör , Mi minör doğanin ilk minör tonu olmasina karsin biraz melankoliktir , Fa majör karışıktır , Fa minör hepsinden patetiktir , Fa Diyez majör iste güçtür çünkü degiştirgeçlerle asiri yuklenmistir , Si majör parlak ve oyun bozannn :))
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    arkinfes
    arkinfes's avatar
    Kayıt Tarihi: 07/Haziran/2007
    Erkek

    Birşey farkettim daha önce terime sadece "a" yazınca eklemiyordu şimdi ekledi bazı durumlarda ekliyor bazı durumlarda eklemiyor durumu anlamadım. phpmyadmin'den rahatca ekleme yapabiliyorum ama php pdo ile bazen ekliyo bazen eklemiyor neden acaba ?


    Do majör soylu ve açık sözlü , Do minör patetik , Re majör parlak , Re minör melankolik , Mi bemol majör soylu ve patetik , aydinlik ama soylu ve karamsar tonmu lazim ozaman; mi majör , Mi minör doğanin ilk minör tonu olmasina karsin biraz melankoliktir , Fa majör karışıktır , Fa minör hepsinden patetiktir , Fa Diyez majör iste güçtür çünkü degiştirgeçlerle asiri yuklenmistir , Si majör parlak ve oyun bozannn :))
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek

    1. si PDO kullanıyorsan bari ya array olarak verileri gönder yada bindParam ile verileri bind et.

    2. si Çok güzel INJ yersin bu şekilde.

    3. sü apache error log kısmına basılır bu tür hatalar tarayıcıya değil

    Tahminimce varchar kısıtlaması koydun veya UTF-8 hatası alıyorsun veya int değere null değer atamaya calısıyorsun NOT NULL COLUMN'a ..

    error log u bir açıp bak hocam


    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
    arkinfes
    arkinfes's avatar
    Kayıt Tarihi: 07/Haziran/2007
    Erkek
    MhmdAlmz bunu yazdı

    1. si PDO kullanıyorsan bari ya array olarak verileri gönder yada bindParam ile verileri bind et.

    2. si Çok güzel INJ yersin bu şekilde.

    3. sü apache error log kısmına basılır bu tür hatalar tarayıcıya değil

    Tahminimce varchar kısıtlaması koydun veya UTF-8 hatası alıyorsun veya int değere null değer atamaya calısıyorsun NOT NULL COLUMN'a ..

    error log u bir açıp bak hocam

    PDO::errorInfo(): Array ( [0] => 42000 [1] => 1064 [2] => You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'teki Marienkirche'de, 1960'lı yıllarda, her yıl Noel öncesi arka arkaya ' at line 1

    hata bu hocam. bu arada ben tüm parametreleri fonksiyon ile süzüyorum yinede inj yermiyim ki ?

     

    arkinfes tarafından 21/Mar/17 20:57 tarihinde düzenlenmiştir

    Do majör soylu ve açık sözlü , Do minör patetik , Re majör parlak , Re minör melankolik , Mi bemol majör soylu ve patetik , aydinlik ama soylu ve karamsar tonmu lazim ozaman; mi majör , Mi minör doğanin ilk minör tonu olmasina karsin biraz melankoliktir , Fa majör karışıktır , Fa minör hepsinden patetiktir , Fa Diyez majör iste güçtür çünkü degiştirgeçlerle asiri yuklenmistir , Si majör parlak ve oyun bozannn :))
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YeniHarman
    YeniHarman's avatar
    Kayıt Tarihi: 17/Haziran/2012
    Erkek
    arkinfes bunu yazdı
    MhmdAlmz bunu yazdı

    1. si PDO kullanıyorsan bari ya array olarak verileri gönder yada bindParam ile verileri bind et.

    2. si Çok güzel INJ yersin bu şekilde.

    3. sü apache error log kısmına basılır bu tür hatalar tarayıcıya değil

    Tahminimce varchar kısıtlaması koydun veya UTF-8 hatası alıyorsun veya int değere null değer atamaya calısıyorsun NOT NULL COLUMN'a ..

    error log u bir açıp bak hocam

    PDO::errorInfo(): Array ( [0] => 42000 [1] => 1064 [2] => You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'teki Marienkirche'de, 1960'lı yıllarda, her yıl Noel öncesi arka arkaya ' at line 1

    hata bu hocam. bu arada ben tüm parametreleri fonksiyon ile süzüyorum yinede inj yermiyim ki ?

     

    Bir kere unutsan süzmeyi (gerçekten süzebiliyor musun tam olarak?) yersin.

    Diyor ki senin ' karakterin sql cümlesini bozmuş (bozuyorsa, filteleyememişsin ve sql injection yiyebilirsin demek). Eğer parametre olarak gönderseydin bu sıkıntı olmazdı.

    try
    {
    $sql = "INSERT INTO tabloadı (x, y, z) VALUES (:birinci, :ikinci, :ucuncu)";
    
    $stmt = $pdo->prepare($sql);
    
    $stmt->bindParam(':birinci', $birincineyseo, PDO::PARAM_STR);
    $stmt->bindParam(':ikinci', $ikincineyseo, PDO::PARAM_STR);
    $stmt->bindParam(':ucuncu', $ucuncuneyseo, PDO::PARAM_STR);
    
    $stmt->execute();
    }
    catch(PDOException $ex)
    {
    echo 'Istisna firlatildi. Istisna: ' . $ex->getMessage();
    die();
    }

     Not: pdo nesnesini array(PDO::ATTR_EMULATE_PREPARES => false, 

    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,

    PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8");

    parametreleri ile açman gerek ki yukarıdaki verdiğim örnek istendiği gibi çalışsın. Yani:

    $pdo = new PDO(DSN, DB_USERNAME, DB_PASSWORD,array(PDO::ATTR_EMULATE_PREPARES => false, 
    						PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
    						PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
    
    burada DSN, DB_USERNAME ve DB_PASSWORD'ü uygun şekilde değiştirmelisin.

     

     

    YeniHarman tarafından 21/Mar/17 21:33 tarihinde düzenlenmiştir

    Olaylara karışmayın!
Toplam Hit: 907 Toplam Mesaj: 5
php hata