Daha sonra veritabanında saklamak adı strtolower için iyi bir fikir mi?

5 Cevap php

Insanlar Registre bir PHP / MySQL uygulamada, strtolower adı daha sonra gelecekte problem yok etmek için veritabanında depolamak için iyi bir fikirdir? İnsanlar farklı durumlarda kullanarak ve ben korkuyorum çünkü bazı sorgularda çatışma yapacaktır.

Teşekkürler

5 Cevap

Bu gerçekten önemli değil - bunu Andy, andy ve Andy belirlediğiniz sürece MySQL is case insensitive tüm maç olacak.

Ihtar harmanlama - ancak:

The default character set and collation are latin1 and latin1_swedish_ci, so nonbinary string comparisons are case insensitive by default.

Eğer kullanıyorsanız, latin1_general_cs cs durum hassas açılımı, ve tüm sorguları harf duyarlı olacak, dikkat edin! İşte charsets and collation biraz daha bilgi bulunuyor.

Adlarını lowercasing bazı sorgularda çatışma (Eğer belirtildiği gibi) kaçınmak yaparsa, o zaman muhtemelen eldeki bazı büyük sorun yaşamaktadırlar.

Tüm veritabanı girişini sterilize edilmelidir, ancak bu gibi adları lowercasing gerekli olmamalıdır.

Hiçbir durumda sorun sorgu ile herhangi bir çatışma neden olabilir.

Hayır herhangi bir şekilde kendi adınızı değiştirirseniz hayal kırıklığına kullanıcılarınızı bırakabilirsiniz. Sen duyarsız olmak DB sütunun harmanlama değiştirebilirsiniz.

Bunu kullanıcı girilmiş şekilde saklamak gerekir.

Düşük (database.data) ile (user.input) sadece alt karşılaştırırken ne sağlamak zorundadır, bir harf duyarsız kimlik doğrulaması.