• 07-10-2009, 03:50:05
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba bir veriyi hem uzunca hemde içerisinde çift tırnak, noktalı virgül gibi özel işaret lerin bulunduğu bir veriyi nasıl INSERT edebilirim ?

    Insert edilecek veri işte bu:
    customer_id|s:1:"2";SESSION_IP_ADDRESS|s:9:"127.0.0.1";

    Insert motedum:

    		      $sql = "INSERT INTO sessions (sesskey, expiry, value) 
    			        VALUES ('0e121d7d083e60b6175e503c0b1d1233', $current_timee, 'özel karakterli veriburaya eklenicek')";
    			if ( !($result = $db->sql_query($sql)) )
    			{
    			       message_die(GENERAL_ERROR, 'Olmadı yeniden dene', '', __LINE__, __FILE__, $sql);
    			}
    'özel karakterli veriburaya eklenicek' dediğim alana üstteki veri eklenecek ama veriyi o olduğu gibi eklemek istediğimde içerisinde özel karakterler olduğu için hata veriyor ve ınsert işlemi gerçekleşmiyor.

    Şimdi buradaki esas olay veriyi bozmadan o şekilde nasıl insert edebilirim, nasıl bir işlemden geçirmek lazım süzgeçlemek mi, fikri olan ?
  • 07-10-2009, 03:59:51
    #2
    kendi sorunumu kendim çözdüm OK,

    her özel karekterin başına bir adet TERS slaş koyarak veri tabanına düzgün insert saplanabiliyor.

    ORJ
    customer_id|s:1:"2";SESSION_IP_ADDRESS|s:9:"127.0.0.1";
    
    TERS SLAŞLIYA ÇEVİRMEK LAZIM:
    customer_id|s\:1\:\"2\"\;SESSION_IP_ADDRESS|s\:9\:\"127.0.0.1\"\;
  • 07-10-2009, 10:27:27
    #3
    $yeniveri = mysql_real_escape_string($ozelkarakterliveri)
  • 07-10-2009, 10:32:26
    #4
    Üyeliği durduruldu
    cocainer adlı üyeden alıntı: mesajı görüntüle
    $yeniveri = mysql_real_escape_string($ozelkarakterliveri)
    magic quotas da off olmasında fayda var. yoksa zaten slash eklenmiş olur. On ise ve ayarlara müdahele edemiyorsaniz. ayar.php gibi her yerden cagirdiniz sayfaya fonksiyon uygulayabilirsiniz;
    Php ile Veritabanına Kayıt ve Göstermedeki Çift Tırnak , Tek Tırnak ve Slash Problemi - ProgramlamaTV - Türkiyenin Video Eğitim Merkezi