Здравствуйте друзья! Всех С Новым Годом!!! Надеюсь с Вашей помощью разобратьса в моей маленкой проблеме связанной с проверкой существования записи в бд. Проблема в том что не зависимо есть эта запись или нет скрипт всё равно добоаляет такуюже. К примеру в базе существует логин test и если я ввожу такой же логин вместо того что бы сообщить о её существовании скрипт исправно вставляет такой же, у меня с этой проблемой ничего не получается, может посоветуете что. Вот код: PHP: <?php require_once('Connections/test.php'); mysql_select_db($database) or die ("Немогу выбрать базу "); $result = mysql_query("SELECT * FROM 'users' WHERE login = $login"); if(@mysql_num_rows($result) > 0 ) { echo "Извините такой логин уже есть"; } else{ $query=mysql_query("INSERT into users (id, login, passwd, email, status) values ('', '".$login."', '".$passwd."', '".$email."', '')"); echo "Получилось!"; } ?> Ещё раз с Новым Годом, счастья и успехов всем!!!
проверить существование записи в таблице можно так: Код (Text): SELECT true FROM users WHERE login = '".$login."' вернёт единицу в случае успешного выполнения запроса.
уже пробовал PHP: $result = mysql_query("SELECT * FROM 'users' WHERE login = '".$login."'"); if(@mysql_num_rows($result) > 0 ) { echo "Извините такой логин уже есть"; } но результат тот же
и чего не получается PHP: <?php $connect = @mysql_connect("localhost", "root", "*****") or die("Can`t connect to MySQL server"); $sdb = @mysql_select_db("phpbb", $connect) or die( mysql_error() ); $query = mysql_query("SELECT true FROM hight_users WHERE username = 'Hight'"); print_r(mysql_fetch_row($query)); // выводит единицу ?>
спасибо за помощь проблема была в Код (Text): FROM users WHERE у меня было Код (Text): FROM 'users' WHERE Ещё раз с наступающим!!!!
aziz, а теперь представьте такую ситуацию: во время проверки, когда поиск логина в таблице пользователей не дал результатов (логина еще не существует), от совершенно другого пользователя, который решил с таким же логином регистрироваться, ушел запрос на запись в таблицу. а потом еще и от текущего пользователя будет запись. итого, опять в таблице 2 одинаковых логина. я бы на вашем месте просто поставил UNIQUE ключ на это поле.