mysql karakter tek tırnak kaçan [kapalı]

2 Cevap php

Ben bir MySQL veritabanı tabloya bazı HTML takacağım. Onu geri almak Ama, bir çok karakter karıştırılmış vardır. Ben kaydetti iki özel durumlar şunlardır:

  1. tek tırnak dönüştürülür alıyorsanız,
  2. Daha önce kodu oku class='content-section developer-support' developer-support\="" class="\'content-section" dönüştürülmüş var

Ben onun kaçan bir problem olduğunu anlıyorum. Ben db itin önce sahada mysql_real_escape_string kullanın.

Bu sorunu önlemek için doğru yolu nedir?


Kaynak:

    $query = sprintf("insert into events (title, content) values('%s', '%s')",
            mysql_real_escape_string($this->title, $conn),
            mysql_real_escape_string($this->content, $conn)
    );

Ben bahsediyorum metin alanına eklenir content.

ve ben magic_quotes etkin var. Ben bunu düzeltmek olacak.

2 Cevap

Ben size PHP yapılandırmada etkin magic_quotes var da, bir şey HTML temizlemek için çalışıyor görünüyor düşünüyorum. Eğer kaynak göstermek gerekir.

Bu belki MySQLi veya PDO ile hazırlanmış deyimleri kullanarak içine bakmak gerektiğini kayda değer olabilir. Bir özünde ne görüntülenmesini hazırlanmış deyimi yürütme oldukça benzer ve mysql_real_escape_string kullanıcı tarafından sağlanan verilerin her bit kullanmak için gereksinimini ortadan kaldırır. Ayrıca, daha güvenli olması artı vardır ve daha iyi performans sağlayabilir.

Ayrıca olarak not magic_quotes büyük olasılıkla sorun oldu.