Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: как сделать поле MySQL нечувствительным к регистру?
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » как сделать поле MySQL нечувствительным к регистру?

Страниц (1): [1]
 

1. wap_master - 27 Апреля, 2007 - 12:55:16 - перейти к сообщению
пишу регистрацию на сайт...
проверка существует ли пользователь:
if(!mysql_num_rows(mysql_query("SELECT * FROM `users` WHERE `nick`='$nick' LIMIT 1")){
....
} else {print'Пользователь с таким ником зарегистрирован!';}

использую поля TEXT для хранения ников
Но есть одно но... при запросе поля чувствительны к регистру, то есть значит могу зарегистрироваться как Admin и admiN и т.д..
2. valenok - 27 Апреля, 2007 - 13:13:58 - перейти к сообщению
Есть два типа поля

бла_бла_бла_CI
бла_бла_бла_CS

в твоём случае наверное

cp1251_general_ci
cp1251_general_cs

Разница в том что ci означает Case INsensetive не чувствительный к регистру
cs Case Sensetive чувствительный к регистру

Поле ника поменяй на тип cs

И используй не текст а varchar
text слишком вместительное поле для строки в 20 символов

PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. $q = mysql_query("SELECT `id` FROM `table` WHERE `nick`='".mysql_escape_string($_POST['nick_name'])."'");
  4. if(mysql_num_rows($q)>0) die('Занято');
  5.  
3. wap_master - 27 Апреля, 2007 - 13:51:33 - перейти к сообщению
спасибо

 

Powered by ExBB FM 1.0 RC1