MySQL'de kesme işareti ekleyemiyorum
Apostrophe sınırlayıcı
MySQL'in SQL versiyonunda, bir dizinin başlangıcı ve bitişi tek tırnak veya çift tırnak işareti ile gösterilir. Aşağıdaki iki örnek geçerlidir:
COMPANY_TABLE (company_name) DEĞERLER 'The Fish Shack INSERT';
COMPANY_TABLE (company_name) DEĞERLERİ "Balık Kulübesi" INSERT;
Ancak, aşağıdaki örnek bir hata oluşturur:
COMPANY_TABLE IN INSERT (tag_line) DEĞERLER 'Joe'da yemek - Bu iyi yemek!';
SQL, dize, ikinci kesme işaretinden sonra yanlış olan her şeyi içeren "'Eat at Joe', " şeklinde yorumlar. Aşağıdaki metin sorunu çözmez:
COMPANY_TABLE (tag_line) DEĞERLERİNİ TAKİP EDİN "Joe'nun Yemekleri - İyi Yemekler!";
Metnin çift tırnak arasında tek bir kesme işareti varsa, bu işe yarar. Ayrıca, bazı web sayfası programlama dilleri çift tırnak kullandığından, bunları SQL'inizde kullanmaktan kaçınmak isteyebilirsiniz.
Çift kesme ve ters çubuk
Çözüm, MySQL tarafından, '' satırda iki kesme işareti '' karakter verisi için tek bir alıntı olarak yorumlanarak belirlenir. Bir ters eğik çizgi karakteri veya "\" kullanarak, verilerdeki kesme işareti hemen aynı etkiyi gösterir. MySQL, ters eğik çizgi ve diğer özel karakterlerin kombinasyonunu bir kaçış dizisi olarak ele alır ve bu iki karakterden bir karakter yaratır. Aşağıdaki örnekler sorunu çözmektedir:
COMPANY_TABLE IN INSERT (tag_line) DEĞERLER 'Joe'da Yemek' - It's Good Food! ';
COMPANY_TABLE IN INSERT (tag_line) DEĞERLER 'Joe \' s Eat - 'İyi Yemekler!';
MySQL'de cümleler oluşturmak için programlar yazarken, yapılacak ilk şey tüm metin dizelerini araştırmak ve verilerin içindeki kesme işaretlerinden önce bir kesme işareti veya ters eğik çizgi eklemektir.
Addslashes işlevi
PHP web programlama dili genellikle MySQL ile birlikte kullanılır. Bu, kesme işaretlerini otomatik olarak dönüştürmek için addslashes adında bir işleve sahiptir. Sadece bu örnekte olduğu gibi dize tipi verilerinizin işlevini gerçekleştirin:
$ tag_line = addslashes ($ tag_line);
Stripslashes işlevi
Kesme işaretleri ve kesme işaretleri veri değişkenlerine dönüştürdüğünüzde, normal verilere geri dönmeniz gerekebilir. PHP stripslashes işlevi bu görevi tek bir adımda gerçekleştirir. Aşağıdaki örnek olarak kullanın:
$ tag_line = stripslashes ($ tag_line);