Php küçük harfe duyarlı değildir?

5 Cevap php

Ben mysql ve php kullanıyorum. Benim veritabanında ben kullanıcılar, içinde kullanıcıların tablo olarak adlandırılan bu tablo bir rekor var:

kullanıcı adı: admin

şifre: şifre

In my login page, I tried login as (şifre: şifre):

  • Kullanıcı adı: admin -> Sonuç: giriş yapabilirsiniz
  • kullanıcı adı: admin -> Sonuç: giriş yapabilirsiniz

Ben, "admin" tüm küçük olarak benim veritabanında adını saklamak

Benim php kimlik doğrulama sayfasında, ben strtolower () işlevi içermiyordu. O, demek ben teslim adınızı form alanını php içinde küçük harfe duyarlı değildir?

5 Cevap

PHP değil. Bu harfe duyarlı değildir veritabanı sorgu var.

Ya işlenen ikili dize birini yapabilirsiniz. Örneğin:

SELECT 'abc' LIKE 'ABC';

Bu 1 veya true dönecektir. Süre

SELECT 'abc' LIKE BINARY 'ABC';

0 veya false dönecektir.

Randell dediği gibi evet, Case-Sensitive onun veritabanı, "Can we make MySQL to be case sensitive for SELECT queries and can we force a column in MySQL to be always lowercase?" için, bu makaleyi edin

Ben açık önce gitmek için bir yol olduğunu düşünüyorum ...

MySQL sorguları için harf duyarlı DEĞİLDİR. SELECT ve aynı şey demek seçin.

Tablolarda veriler olduğu gibi saklanan, ancak yalnızca sorgu ile bilgi alabilirsiniz beri, dikkatle ifade bunları açmanız gerekir.

Randell dediği gibi

select 'abc' like 'ABC'

GİBİ durumda farklılıkları yok sayıyor, çünkü DOĞRU döndürür (yani olacak SELECT 'abc' like 'ABC') olacak

select 'abc' like binary 'ABC'

FALSE döner (ve bu yüzden olacak SELECT 'abc' LIKE BINARY 'ABC') GİBİ İKİLİ daha dikkatli görünüyor çünkü. Ikili düzeyde bir fark var IS.

Nasıl o adı form alanı bulunuyor bilmeli?

Eğer doğru hatırlıyorum, * nix bir kullanıcı adı harf duyarsız oldu. Eğer Userinformation saklamak ve karşılaştırmak için bir kütüphane kullanıyor musunuz?

Eğer giriş zaman, ben size kullanıcı adı ve şifre kaydedilmiş tablo aynıdır doğrulamak için sorgu yazmak gerektiğini düşünüyorum.