[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проверка на наличие пользователя в БД.
ViaScientarium
Привет!
PHP
$conn_id=mysql_connect("localhost","name","pass") or die(mysql_error());
        @
mysql_select_db($conn_id);
    
    
$q=@mysql_query("SELECT * FROM `subscribers` WHERE email='$subs_mail',$conn_id");
        if(@
mysql_num_rows($q)>=1) {
            die(
"Данный пользователь уже зарегистрирован !");
        }else{
            unset(
$q);
            
//Регистрируем пользователя
            
$q=@mysql_query("INSERT into `subscribers` ( `id` , `email` ) VALUES('1','$subs_mail')",$conn_id);
            if(@
mysql_error($conn_id)!='') {die(mysql_error());}
        }
        @
mysql_close($conn_id);

Помогите решить, пожалуйста, следующую проблему:
Не выполняется проверка на наличие такого пользователя в базе данных. Что не так?



Спустя 2 минуты, 1 секунда (21.06.2009 - 22:03) waldicom написал(а):
PHP
$conn_id=mysql_connect("localhost","name","pass") or die(mysql_error());
@
mysql_select_db($conn_id);

Это че за ход конем такой? А где имя базы?

Спустя 5 минут, 2 секунды (21.06.2009 - 22:08) kirik написал(а):
Цитата (ViaScientarium @ 21.06.2009 - 14:01)
Что не так?

Можно еще больше "собак" понаставить, чтобы скрипт уж точно не пискнул. Во-первых убирай собаки, тогда скрипт тебе сам сообщит "что не так", во-вторых выводи mysql_error() (по такому же принципу, как выводишь ошибку во время подключения к серверу: or die(mysql_error()))

А ошибка у тебя помимо выбора БД еще и тут ',$conn_id".

Спустя 18 минут, 27 секунд (21.06.2009 - 22:27) ViaScientarium написал(а):
Цитата (kirik @ 21.06.2009 - 19:08)
тут ',$conn_id".

Невнимательность... В этом и заключалась ошибка. Спасибо большое!

Спустя 1 час, 23 минуты, 47 секунд (21.06.2009 - 23:51) ViaScientarium написал(а):
Возникла еще одна небольшая проблема:
PHP
$checkSum=$_GET['checkSum'];
$email=$_GET['email'];

$conn_id=mysql_connect("localhost","db","34562") or die(mysql_error());
mysql_select_db($conn_id);
$q=mysql_query("SELECT 'Key' FROM `subscribers` WHERE email= '$email'",$conn_id) or die(mysql_error());
$row=mysql_fetch_array($q);
$Key=$row['Key'];
if(
$checkSum!=$Key) {
    echo
'Активационный ключ/e-mail не верен.';
}else{
    unset(
$q);
    
$q=mysql_query("INSERT INTO `subscribers` SET status='confirmed' WHERE email= '$email'",$conn_id) or die(mysql_error());
    echo
'Активация прошла успешно!';
}
mysql_close($conn_id);

Пользователь переходит по внешней ссылке и попадает на страницу с этим скриптом. Но появляется ошибка: No database selected. С чем это связано?

Спустя 1 час, 43 минуты, 2 секунды (22.06.2009 - 01:34) kirik написал(а):
Цитата (ViaScientarium @ 21.06.2009 - 15:51)
С чем это связано?

С невнимательностью прочтения данного трэда

Цитата (ViaScientarium @ 21.06.2009 - 15:51)
No database selected.

Цитата (waldicom @ 21.06.2009 - 14:03)
А где имя базы?

Цитата (kirik @ 21.06.2009 - 14:08)
А ошибка у тебя помимо выбора БД...

Спустя 6 часов, 46 минут, 19 секунд (22.06.2009 - 08:20) ViaScientarium написал(а):
Все, понял... Неправильно прочитал описание функции mysql_select_db
Благодарю.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.