[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Скрыть ошибки
XylliGaH
Ребята вот такая беда:
Делаю регистрацию на сайте, нужно было сделать так что б при вводе в поля логина, он сравнивался с логинами в бд, и если таковой имеется ---> вывожу строку что такой логин уже используется... так вот пошел я вот таким путем

Код

/*объявления переменных */

10. $lbusy = mysql_query("SELECT login FROM users WHERE login = $login",$db);
11. $lrecord = mysql_fetch_array($lbusy);
....
/*сама реализация*/

47. if (mysql_num_rows($lbusy) === 0)
    {
     $vvod = mysql_query ("INSERT INTO users (name,login,email,password) VALUES ('$name','$login','$email','$password')");
   if ($vvod == true) {echo "<center><p>Ваша учетная запись успешно создана</p></center>";}
   else {echo "<center><p>Ошибка системы, попробуйте немного позже</p></center>";}
  }
else {echo "<center><p>Извините, но такой логин уже кем-то используется</p></center>";}


так вот, когда логин чисельный, то оно ничего не выдает (ошибку), но когда же логин идет в символах идут вот такие ошибки
Код

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in X:\home\mp3shka\www\reg.php on line 11
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in X:\home\mp3shka\www\reg.php on line 47


Дело в том, что оно правильно работает, просто мне обяснили что когда я ввожу символы то оно возврщает в переменную NULL, можно ли мне как то запрятать эти ошибки, с конструкцией try...catch игрался, не помогло) если она мне и нужна опишите пожайлуста что и как делать(
Заранее спасибо



Спустя 4 минуты, 42 секунды (8.04.2009 - 19:53) Kuliev написал(а):
XylliGaH
PHP
10. $lbusy mysql_query("SELECT login FROM users WHERE login = '".$login."'",$db);
11. $lrecord mysql_fetch_array($lbusy);
....
/*сама реализация*/

47. if (mysql_num_rows($lbusy) =< 0
    {
     
$vvod mysql_query ("INSERT INTO users (name,login,email,password) VALUES ('$name','$login','$email','$password')");
   if (
$vvod == true) {echo "<center><p>Ваша учетная запись успешно создана</p></center>";}
   else {echo 
"<center><p>Ошибка системы, попробуйте немного позже</p></center>";}
  }
else {echo 
"<center><p>Извините, но такой логин уже кем-то используется</p></center>";}



Спустя 2 минуты, 46 секунд (8.04.2009 - 19:56) XylliGaH написал(а):

Большое спасибо) все помогло)
премного благодарен

Спустя 6 минут, 53 секунды (8.04.2009 - 20:03) Kuliev написал(а):
XylliGaH
При сравнивании логических значений true или false используйте оператор === !

Не вижу смысла делать это условие
PHP
if ($vvod == true)


Все делается намного проще
PHP
$lbusy mysql_query("SELECT login FROM users WHERE login = '".$login."'",$db);
 
$lrecord mysql_fetch_array($lbusy);
....
/*сама реализация*/

47. if (mysql_num_rows($lbusy) > 0
    {
       echo 
"Такой логин уже занят!";
       
header ("location: index.php?err=error");
    }
else
{

// Пишем в базу

}


Спустя 2 часа, 56 минут, 38 секунд (8.04.2009 - 22:59) Joker написал(а):
Цитата (Kuliev @ 8.04.2009 - 17:03)
XylliGaH
При сравнивании логических значений true или false используйте оператор === !


а я думал что == (два ровно а не три)

Спустя 24 минуты, 19 секунд (8.04.2009 - 23:24) kirik написал(а):
Цитата (Joker @ 8.04.2009 - 14:59)
а я думал что == (два ровно а не три)

если два "равно", то тогда не идет сравнение типов данных, тоесть условие '1' == 1 будет истинно ('1' - string, 1 - int), а если поставишь еще одно "равно", то не будет (а будет в случае 1 === 1 1 - int, 1 - int)

Спустя 3 минуты (8.04.2009 - 23:27) Joker написал(а):
ясно)
Быстрый ответ:

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