{% else-1 %}
Обновить
* Тема закрыта!
1.
SNEG * 0.1
[автор] (16 дек 2016, 04:08) [0/0] [0] [спам] [под]

$querylogin = mysql_query("SELECT COUNT(`id`) FROM `users` WHERE `login` = '$login'"*;
if (mysql_result($querylogin, 0)>0)$err = '<div class="erors">Извините, данный логин уже зарегистрирован, выберите другой</div>';
---
Почему SELECT COUNT(`id`) FROM а не SELECT * FROM
Кто объяснит не могу догнать..

2. (16 дек 2016, 05:09) [0/0] [0] [спам] [под]

Как на меня разницы нет. * быстрей ищет.

3.
axer * 2.42
(16 дек 2016, 05:27) [0/0] [0] [спам] [под]

SNEG, count('id') - выдаст не строки из таблицы, а их количество. Count и переводится как "количество".
А select * from - выбирает все поля из таблицы.

Логично, что используется count, так как здесь идет проверка на совпадение логина. Если в базе нет пользователя с таким логином, то count('id') будет равен нулю, иначе 1 или более

4.
axer * 2.42
(16 дек 2016, 05:28) [0/0] [0] [спам] [под]

А ты такое не советуй, раз до конца не понимаешь, что в запросе происходит.

5.
axer * 2.42
(16 дек 2016, 05:36) [0/0] [0] [спам] [под]

Даже если ты сравнивал
select 'id' from users
с этим:
select * from users
То непонятно лично мне, с какого рожна ты решил, что select * работает быстрее, чем select id.
Select * - собирает абсолютно все поля таблицы, а select id, соответственно только id. Так и что быстрее - собрать ведро семечек или стакан?

6.
SNEG * 0.1
[автор] (16 дек 2016, 05:43) [0/0] [0] [спам] [под]

Вопрос в другом зачем id считать если мы логин проверяем ?

7.
axer * 2.42
(16 дек 2016, 06:50) [0/0] [0] [спам] [под]

SNEG, ну ты же представляешь из чего состоит таблица? По-простому, из столбцов и строк.
Твой запрос:
Select count('id') from users where login = $login
По-русски запрос звучит так: посчитай количество строк, где логин = логину, который хотят зарегистрировать.
Здесь не принципиально что оборачивать в count, можно любое поле обернуть, но чаще всего пишут так, оборачивая id, потому как id - 100% заполнен и имеет значение

8.
SNEG * 0.1
[автор] (16 дек 2016, 07:06) [0/0] [0] [спам] [под]

Я так и понял что там можно что хочешь указать кроме id*

9.
axer * 2.42
(16 дек 2016, 07:26) [0/0] [0] [спам] [под]

SNEG, что хочешь, но нужно точно знать, что значение этого столбца не null.
А select count(*), т.е со звездочкой использовать только когда нужно просто подсчитать все записи в таблице, т.е когда не ичпользуется WHERE. А в таоем случае, лучше конкретизировать поле и, чтобы быть полностью уверенным в его заполненности использовать id, т.к оно 100% ключевое и пустым быть не может

10.
SNEG * 0.1
[автор] (16 дек 2016, 08:21) [0/0] [0] [спам] [под]

Спасибо, буду знать.

Подписаны: 0
Скачать тему | Файлы темы | Фильтр сообщений