Тема: Помогите написать процедуру пожалуйста!!!
Здравствуйте!!!
Пришел к вам за помощью!
Требуется написать хранимую процедуру, а я никак не пойму как это сделать
Ща четко напишу чего надо добиться:
Проблема следущая, делаю систему авторизации / регистрации, есть таблица в которой хранятся юзеры, логин хранится в столбце `user`.
В общем перед тем как добавить данные в таблу я проверяю имеется такой юзер с таким логином в базе или нет. Регистр для меня не должен иметь значения, вот тут я сталкнулся с проблемой.
strtolower (PHP) и Lower (MySQL) приводит символы в нижний регистр только латинские, с кирилицей ничего не выходит, они их просто игнорируют.
Что касается strtolower то я написал функцию которая делает все вручную, а вот процедуру написать не умею, надо сделать процедуру которая будет работать точно так же как и функция в плане логики, ниже предоставляю код сценария:
<?php
function strtolower_my($str) {
$str = strtolower($str);
$search = array(
'Й','Ц','У','К','Е','Н','Г','Ш','Щ','З','Х','Ъ','Ф','Ы','В','А','П','Р','О','Л','Д','Ж','Э','Я','Ч','С','М','И','Т','Ь','Б','Ю','Ё'
);
$replace = array(
'й','ц','у','к','е','н','г','ш','щ','з','х','ъ','ф','ы','в','а','п','р','о','л','д','ж','э','я','ч','с','м','и','т','ь','б','ю','ё'
);
$str = str_replace($search, $replace, $str);
return $str;
}
$user = strtolower_my($_POST['user']);
$sql = "Select `id`, `user` From `users` Where LOWER(`user`) = '" . $user . "'";
// Мне надо чтоб запрос выглядел типа так:
// $sql = "Select `id`, `user` From `users` Where LOWER_MY(`user`) = '" . $user . "'";
// Где LOWER_MY это процедура которая делает тоже что и функция strtolower_my
$query = mysql_query($sql);
$result = mysql_fetch_array($query);
if ($result['id']) {
// Ошибка такой юзер уже есть в БД
} else {
// Процедура регистрации ника
}
?>
Надеюсь на вашу помощь, у меня вся работа на этом встала