mysql_query не выдает ошибку

ganibal

Новичок
mysql_query не выдает ошибку

Скрипт авторизации пользователя .
Есть табличка clients_data с 2-мя столбиками : login(varchar), password(varchar)
Из формы в скрипт передаются переменные $username и $password
Далее следует анализ данных в скрипте PHP
PHP:
$query = "SELECT * FROM clients_data WHERE login='".$username."'";
    $result = mysql_query($query) or die(mysql_errno($link).mysql_error($link));
Проблема заключается в том, что в результате выполнения запроса в случае если $username != login (т.е нет такой записи в таблице , и mysql_query должно принять значение false), скрипт не делает die и продолжает выполнятся дальше

PHP5(register_globals = on), Apache 2.2.4, OS Win Xp

Заранее благодарен за помощь
 

God

Новичок
Запрос правильный - значит и не будет die
Надо проверять mysql_num_rows
 

ganibal

Новичок
Автор оригинала: *****
а почему она должна принимать значение false?
PHP:
$query = "SELECT * FROM clients_data WHERE login='".$username."'";
Потому что в столбце login нет полей со значением $username
 

Фанат

oncle terrible
Команда форума
прекрасно - нет и нет.
почему функция-то должна возвращать False?
в каких случаях функция возвращает false?
 

ganibal

Новичок
Автор оригинала: *****
прекрасно - нет и нет.
почему функция-то должна возвращать False?
в каких случаях функция возвращает false?
Цитата из мануала :
Только для операторов SELECT, SHOW, EXPLAIN или DESCRIBE функция mysql_query() возвращает идентификатор ресурса, FALSE если запрос не был выполнен корректно.

Насколько я понимаю в моем случае, функция возвращает какое-то нулевое значение, но не false
 

Фанат

oncle terrible
Команда форума
С какой стати она должна возвращать какое-то "нулевое значение"?
Она возвращает указатель на ресурс.
Она не возвращает, как многие думают, запрашиваемое значение или количество строк. она возвращает указатель на результат запроса. какой это был результат - нулевой, или всю базу выдало - функция НЕ ЗНАЕТ и это её не должно касаться.
 
Сверху