Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проверка значений полей в БД 
:(
    Опции темы
assasinnn
Дата 5.6.2010, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 19.8.2009

Репутация: нет
Всего: нет



Привет всем форумчанам! С базами данных начал ознакамливаться только сегодня, потому возникают "глобальные" трудности.
К примеру, у меня есть таблица users, в которой мне хотелось бы найти количество записей, в которых поля login  и password равны переданным мною переменным $login и $password.
Пытался оформить дело так:
Код

$login = $_POST['nickname'];
$password = md5($_POST['password']);
$sql = "SELECT login, password FROM users WHERE login='$login',password='$password'";
$result = mysql_query($sql);
$rows=mysql_num_rows($result);

Кто поможет дельным советом и подскажет как и что переправить? Заранее спасибо

Это сообщение отредактировал(а) assasinnn - 5.6.2010, 12:42
PM MAIL   Вверх
bars80080
Дата 5.6.2010, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



а что не получилось?

ошибки какие-то? или не выдаёт ничего?


проверка запроса:
Код

echo $sql;

это чтобы увидеть, что в реальности получилось

проверка результата запроса:
Код

echo mysql_error();

сразу после mysql_query($sql);
это чтобы увидеть, если произошла ошибка в синтаксисе
PM MAIL WWW   Вверх
assasinnn
Дата 5.6.2010, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 19.8.2009

Репутация: нет
Всего: нет



Вот и ошибка... Однако тонкостей синтаксиса я, к сожалению, не знаю.
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'password='202cb962ac59075b964b07152d234b70'' at line 1

А вообще логика скрипта в целом правильная?

Это сообщение отредактировал(а) assasinnn - 5.6.2010, 12:50
PM MAIL   Вверх
Photon
Дата 5.6.2010, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Злобный программер
**


Профиль
Группа: Участник
Сообщений: 282
Регистрация: 27.2.2009
Где: Таганрог

Репутация: 1
Всего: 12



assasinnn, 

Код

select count(1) from users where login='$login' and password='$password'


Это, если нужно только количество..  Обратите внимание на AND между условиями, у вас стоит запятая - это неправильно




--------------------
With best regards..
PM MAIL ICQ Skype GTalk Jabber   Вверх
assasinnn
Дата 5.6.2010, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 19.8.2009

Репутация: нет
Всего: нет



Цитата(Photon @ 5.6.2010,  13:14)
assasinnn, 

Код

select count(1) from users where login='$login' and password='$password'


Попробовал, поставил alert($rows)... получаю всегда единицу, независимо от того, есть запись с такими именно полями или нет
PM MAIL   Вверх
bars80080
Дата 5.6.2010, 15:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



конечно единицу. select count(1) означает - найти количество записей, и возвращает одну строку с результатом.

Код

$sql = 'select count(1)...';
$q = mysql_query($sql);
$r = mysql_fetch_array($q);

var_dump($r);

сами посмотрите, в $r[0]['count(1)'] будет ваше количество строк


но и ваш предыдущий вариант тоже даёт результат:
Код

$sql = "SELECT login, password FROM users WHERE login='$login' and password='$password'";
$result = mysql_query($sql);
$rows=mysql_num_rows($result);

var_dump($rows);
этот последний вариант хорошо использовать тогда, если вы далее хотите получить значения этих строк.
а вариант Photon, если только количество строк
PM MAIL WWW   Вверх
assasinnn
Дата 5.6.2010, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 19.8.2009

Репутация: нет
Всего: нет



Спасибо всем! Проблема решена
PM MAIL   Вверх
Severyanin
Дата 15.6.2010, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
**


Профиль
Группа: Участник
Сообщений: 554
Регистрация: 31.7.2007
Где: Россия, Омск

Репутация: нет
Всего: 9



Тогда пометьте вопрос как решенный


--------------------
"Звонким вереском скроются наши следы, и не вспомнят о них. Кто поверит нам, рыцарям павшей звезды из отвергнутых книг? Пусть в узоре времен ни стихов. ни имен, но напомнит забывшим их полуночный крик." Тэм Гринхилл
"Ужели суслик твоего коварства нагадит в плов доверья моего?". Л.Филатов 
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0496 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.