Форум программистов, компьютерный форум CyberForum.ru Форум программистов | Компьютерный форум | Форум web-программистов | Форум по электронике и бытовой технике | Форум о софте | Научный форум | Карьера и бизнес
CyberForum.ru - форум программистов и сисадминов > Форум Форум программистов > Форум Базы данных > Форум MySQL
Восстановить пароль Регистрация

Ответ Создать новую тему
 
28.02.2012, 18:54   #1
Micro
Форумчанин
Регистрация: 12.11.2011
Сообщений: 373
Репутация: 41 (41)
Лучшие ответы: 6
Как проверить таблицу на наличие записи / MySQL

Делаю отдельную регистрацию, подскажите как проверять не занят ли логин другим человеком с учетом регистра...
Лучшие ответы (1)
28.02.2012, 18:54
AdAgent
Объявления
29.02.2012, 11:47   #2
paa66
Форумчанин
Регистрация: 12.12.2011
Сообщений: 196
Репутация: 21 (22)
Как проверить таблицу на наличие записи

С помощью SQL это не сделать, поэтому не в том разделе создал тему. Но объясню, как сделал бы я. Итак, есть поле формы, куда посетитель внёс свой логин. При нажатии Регистрация надо создать переменную и присвоить ей значение этого поля:
Код PHP
1
$login1 = название_поля
Потом делаешь запрос к БД и выдёргиваешь все логины:
Код PHP
1
2
3
4
5
6
7
8
9
10
$sql = "SELECT login FROM users ";// создаёшь запрос в виде переменной, т.е. выдёргиваешь все логины из таблицы БД
$db->setQuery($sql);// это делаешь запрос к БД
     $row = $db->loadAssocList();//загружаешь результат запроса в массив
foreach($row as $login){
if {$login == $login1; 
echo "этот логин уже занят другим пользователем";
}
else { // тут твой код
}
}
Примерно так.
Другие темы раздела
MySQL сервер зависает при установке MySQL
Не получается установить MySQL сервер, на завершающем этапе зависает. С чем это может быть связано?
как сгруппировать данные MySQL
Делаю форум для школьного класса. При регистрации каждый из родителей (папа и мама) указывают ФИО своего ребёнка. Эта инфа заносится в таблицу users. В таблице выглядит следующим образом: для ФИО родителя - отдельное поле, а для телефона, адреса, фио ребёнка и т.д. - поле params. При выводе списка...
01.03.2012, 21:32   #3
perepe4a
Форумчанин
Регистрация: 03.02.2012
Сообщений: 362
Репутация: 32 (64)
Лучшие ответы: 2
Как проверить таблицу на наличие записи

Цитата Сообщение от paa66 Посмотреть сообщение
С помощью SQL это не сделать.
Примерно так.
Ололошеньки. Какраз с помощью SQL это делать и НУЖНО!!!
Способ 1-й:
Код SQL
1
SELECT COUNT(login) FROM users WHERE login = :p_new_login
Если вернет 0, то понятно, что такого пользователя нет.

Способ 2-й:
Навесить ограничение уникальности на логин.
Код SQL
1
INSERT INTO users VALUES(id, :p_new_login)
Если есть то вернет exception.
02.03.2012, 15:44   #4
Great-Antique
Форумчанин
Регистрация: 22.09.2010
Сообщений: 182
Репутация: 63 (63)
Лучшие ответы: 1
Как проверить таблицу на наличие записи

Код PHP
1
$sql = "SELECT EXISTS (SELECT * FROM `users` WHERE login = '{$login}')";
Вернет 1 если такой логин уже есть, 0 - если нету

Если будете напрямую ставиь результат в условие - то можно так
Код PHP
1
$sql = "SELECT NOT EXISTS (SELECT * FROM `users` WHERE login = '{$login}')";
Вернет 1 если логина такого еще нету, 0 - если есть

Добавлено через 1 минуту
Цитата Сообщение от paa66 Посмотреть сообщение
С помощью SQL это не сделать
Не вводите в заблуждение людей.
02.03.2012, 15:44
AdAgent
Объявления
22.04.2013, 20:58   #5
RobertMenus
Форумчанин
Регистрация: 08.12.2010
Сообщений: 207
Репутация: 36 (36)
Лучшие ответы: 1
Как проверить таблицу на наличие записи

пардон за некропостинг, но проблема очень-очень из этой области. за
Цитата Сообщение от Great-Antique Посмотреть сообщение
$sql = "SELECT EXISTS (SELECT * FROM `users` WHERE login = '{$login}')";
огромное спасибо, но увы пишу я не на php, а на Делфи, используя MyDAC.
вопрос - куда "приходит" результат исполнения этого запроса?
Код Delphi
1
2
3
myqry1.Active:=False;
myqry1.SQL.Text:='SELECT EXISTS (SELECT * FROM tests where St_ID='+dblkcbbSt_ID.Text+')';
myqry1.Execute;
23.04.2013, 09:39   #6
Great-Antique
Форумчанин
Регистрация: 22.09.2010
Сообщений: 182
Репутация: 63 (63)
Лучшие ответы: 1
Как проверить таблицу на наличие записи

RobertMenus, никогда не имел дела с делфи. Может ктото подскажет
26.04.2013, 20:56  [ТС]   #7
Micro
Форумчанин
Регистрация: 12.11.2011
Сообщений: 373
Репутация: 41 (41)
Лучшие ответы: 6
Как проверить таблицу на наличие записи / MySQL

Great-Antique, не нужно набивать посты.
RobertMenus, Там у myqry1 должно быть что-то типа ExecuteReader()
Код Visual Basic .NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
   If con.State.ToString = "Open" Then
            Dim cmd2 As MySqlCommand = New MySqlCommand("SELECT userid FROM  " + TABLE_PREFIX + "user WHERE `username`='" & username & "'", con)
            Dim reader As MySqlDataReader = cmd2.ExecuteReader
            Dim a As Integer = 0
            Do While reader.Read
                a = reader.GetValue(0)
            Loop
            reader.Close()
            cmd2.Dispose()
            Return a
        Else
            con.Open()
        End If
        Return 0
26.04.2013, 20:56
Yandex
Объявления
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему

Похожие темы
Тема Раздел Автор Дата
MS Access: Как проверить наличие записи В ПОДЧИНЕННОЙ ФОРМЕ
привет всем ... Мне нужно по нажатию на кнопку "новая запись" , в форме "F_Работник" проверить наличие записи В подчиненной форме " F_Описание" и, если нет записей, выводить сообщение, что поля не заполнены а, если имеется полностью заполненная строка, (начало_работы, ...
MS Access rvafexa 04.03.2014 09:22
MS Access: Как проверить наличие записи В ПОДЧИНЕННОЙ ФОРМЕ
привет всем ... Как проверить наличие записи В ПОДЧИНЕННОЙ ФОРМЕ с помощью Recordset.EOF Мне нужно по нажатию на кнопку "новая запись" , в форме "F_Работник" проверить наличие записи В подчиненной форме " F_Описание" и, если нет записей, выводить сообщение, что поля не заполнены
MS Access rvafexa 04.03.2014 09:09
PHP БД: Проверить наличие записи
Здравствуйте есть код, вывода IP. private FUNCTION GetRealIp() { IF (!empty($_SERVER)) { $ip=$_SERVER; } elseif (!empty($_SERVER)) { $ip=$_SERVER;
PHP и базы данных lancs 16.03.2013 13:52
Visual Basic .NET: Как проверить таблицу на наличие записи
Делаю отдельную регистрацию, подскажите как проверять не занят ли логин другим человеком с учетом регистра...
Visual Basic .NET Micro 29.02.2012 12:48
Visual Basic .NET: Как проверить наличие записи в таблице БД MySql(по ID)
Всем доброго времени суток. Уважаемые программисты, у меня возник такой вопрос: Есть таблица в БД MySql в ней неопределенное количество записей(строк) Записи я периодически обновляю примерно так:'Dim cmd As New MySql.Data.MySqlClient.MySqlCommand ... cmd.CommandText = "UPDATE table ... WHERE...
Visual Basic .NET Dzhej-Dzhej 12.03.2011 15:03
Опции темы

Текущее время: 16:59. Часовой пояс GMT +4.

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.