Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
50 / 40 / 5
Регистрация: 30.06.2010
Сообщений: 1,191

Проверка на существовании имени в БД

16.10.2012, 15:41. Показов 2461. Ответов 31
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как можно "по-оптимизированнее" проверить, есть ли пользователь с каким-либо именем?
вот что я думаю, но очень сомневаюсь...
SQL
1
SELECT `name` FROM `table` WHERE `name`='$name'
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.10.2012, 15:41
Ответы с готовыми решениями:

Проверка на существовании записи учитывая регистр
Приветствую! Необходимо проверить существует ли запись в бд, учитывая регистр и если такая существует вывести id пользователя. uSer1 и...

Проверка имени
Доброго времени суток. Возникла потребность проверять изменилллось ли имя файла. При это делать нужно только в мэйне Пример: int...

Проверка имени
Всем добрый день! Столкнулся с такой проблемой: в базе данных MySQL в таблице users хранится имя LLM\\asmirnov. Я проверяю есть ли...

31
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
16.10.2012, 15:50
Ну всё верно.
Только если вам нужно вытащить пользователя то так, а если надо только проверить, то можно так
SQL
1
SELECT COUNT(1) FROM `table` WHERE `name`='$name'
1
50 / 40 / 5
Регистрация: 30.06.2010
Сообщений: 1,191
16.10.2012, 16:51  [ТС]
вот про это и хотел узнать
Спасибо)

Добавлено через 4 минуты
а как тогда проверить есть ли там что-то?
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
16.10.2012, 16:54
PHP
1
2
3
$exists = (bool)mysql_result(mysql_query("SELECT COUNT(1) FROM `table` WHERE `name`='$name'
"), 0);
// в $exists будет true если есть и false если нет
0
50 / 40 / 5
Регистрация: 30.06.2010
Сообщений: 1,191
16.10.2012, 17:02  [ТС]
Что значит второй аргумент mysql_result?
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
16.10.2012, 17:04
Есть такой чудный сайт Там всё есть, и даже с примерами
0
50 / 40 / 5
Регистрация: 30.06.2010
Сообщений: 1,191
16.10.2012, 17:30  [ТС]
я читал, но не совсем понял. т.е. 0 - это первый столбец?
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
16.10.2012, 17:40
да...
0
50 / 40 / 5
Регистрация: 30.06.2010
Сообщений: 1,191
16.10.2012, 17:47  [ТС]
Что делает (bool)перед sql запросом?

Добавлено через 52 секунды
это я даже не знаю как в поиске написать
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
16.10.2012, 17:51
PHP
1
2
3
4
5
<?php
 
$a = 23413;
$b = (bool)$a;
var_dump($b);
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
16.10.2012, 17:51
Цитата Сообщение от ProstoMad Посмотреть сообщение
Что делает (bool)перед sql запросом?
Приведение типов: http://www.php.net/manual/ru/l... ypecasting
0
50 / 40 / 5
Регистрация: 30.06.2010
Сообщений: 1,191
16.10.2012, 21:09  [ТС]
Типа тру всегда, кроме 0 и нул?

Добавлено через 27 минут
PHP
1
    $exists = (bool)mysql_result($res, 4);
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 4 on MySQL result index 5 in PATH
из-за чего это?
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
16.10.2012, 22:06
ну видимо из за того что нет 5 столбца)
запрос какой?)
0
50 / 40 / 5
Регистрация: 30.06.2010
Сообщений: 1,191
16.10.2012, 22:13  [ТС]
SQL
1
SELECT COUNT(1) FROM `table` WHERE `email`='$email'
Добавлено через 2 минуты
понял в чём ошибка. не понял что такое count
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
16.10.2012, 22:15
почти тоже самое что и в пыхе в принципе.

Считает количество записей - конкретно в запросе считает число затронутых запросом рядов
0
50 / 40 / 5
Регистрация: 30.06.2010
Сообщений: 1,191
16.10.2012, 22:18  [ТС]
т.е. если поставить 1, то он будет только первый столбец смотреть, если 2, то первые два столбца во всех строках?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
16.10.2012, 22:22
да вроде. но лучше писать * в скобках, так меньше тратится ресурсов
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
16.10.2012, 22:35
Нет, как раз лучше писать 1, он не считает столбцы.
1 в count() просто 1.
это для любой строки типа True.
напрсмер если написать так
SQL
1
SELECT COUNT('name') FROM TABLE
то посчитается не количество строк в запросе, а количество строк, где name != null.
а это может быть разный результат.

count(1) вернёт всегда, для любой строки True.
count(*) быстро работает только сли нет условия Where, то етсь если выбираются все строки, так как он берёт тогда значение внутреннего счётчика таблицы, и фактически не считает строки.
если же условие where указанно то строки считать придётся, и смый быстрый и точный способ это count(1) будет.
0
50 / 40 / 5
Регистрация: 30.06.2010
Сообщений: 1,191
16.10.2012, 23:00  [ТС]
и как тогда лучше проверять на содержание такого же значения поля в столбце, что вводится?
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
16.10.2012, 23:01
Не слова не понял в вашем вопросе
Что выводится? Где проверять? Вы о чём?)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.10.2012, 23:01
Помогаю со студенческими работами здесь

Проверка имени
Здравствуйте при вводе имени вступает строка кода на пхп if (preg_match (&quot;|/^\+|i&quot;, $_POST) || $lens&lt;3) ...

Проверка имени
подскажите пожалуйста, как мне проверить правильность цифр, то есть я изначально задумал число как пароль, к примеру 123, а если мы вводим...

Проверка имени
Вроде тут делать нечего нужно чтобы поля, которые заполняем не были пустыми, а мне каждый раз ошибку пишет что поле Имя не заполнено,...

Проверка имени процесса
Здравствуйте, у меня есть код: public static boolean checkProcesses(String onlineData) { if (onlineData == null) return...

Проверка имени и фамилии
Здравствуйте, помогите пожалуйста составить регулярное выражение, могут быть только или английские или русские(символы в том числе и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru