существующих строк по этому условию. Ты вообще описание функции mysql COUNT читал? Прочти тут. http://ict.edu.ru/ft/001779/index.shtml
количества строк удовлетворяющих условию никогда ТАК не делай есть COUNT его и юзай вот будет у тебя 1000000000000 записей в сетевой базе и 75% из этого удовлетворит запросу ты будешь ждать когда ЭТО ВОЙДЕТ из базы в пых чтобы почитать их в mysql_num_rows а я возму COUNT() на стороне БД, получу одну строку и пока ты будешь ждать данных я пойду за пивом
armadillo согласен... но не справился с ДАННОЙ формулировкой задания... Однако само заае сделал и сделал верно Согласитесь - это тоже вариант
снова неверно. Там сделано совсем не так. Сделай с Count, тогда перестанешь упираться и распишем что и почему. Ни у кого нет желания тянуть с тобой резину на много страниц "да-нет-да". Довольно.
http://ru2.php.net/manual/ru/function.mysql-query.php Тут коунт как переменная.... но не функция... По второй ссылке тоже не нашел... (( ТКНИТЕ ПАЛЬЦЕМ ПЛИИИЗ
2 armadillo Сделал так. вроде все работает: PHP: $link = mysql_connect("localhost", "root", ""); mysql_select_db ("goldDB", $link); $table_name = "logged_clients"; $query = "SELECT count(*) FROM $table_name WHERE user_login = \"$logged_login\""; $query_done = mysql_query($query, $link); $result = mysql_fetch_row($query_done); if ($result[0] == 1) { print ("Пользователь с таким именем существует. Пожалуйста вернитесь назад и измените login"); } else { $query = "INSERT INTO $table_name VALUES (\"0\", \"$date_register\", \"$logged_login\", \"$logged_pass\", \"$logged_email\", \"$logged_name\")"; $result = mysql_db_query("goldDB", $query, $link); $link_close = mysql_close ($link); if ($result) { print ("Данные записаны"); } else { print ("Данные не записаны"); } } ?>
хм. Я, наверное, немного поздно. Но лучше поздно, чем никогда... А кто помешал сделать поле user_login уникальным?
RomanBush, если не покажется никакой ошибки, то пользователь будет свято верить, что зарегистрировался.
Mavir А при чём здесь выдача ошибки? Если поле будет уникальным - Вы гарантировано будете застрахованы от повторяющихся логинов юзеров (хотя я не очень понимаю, зачем это нужно). А ошибку пользователю конечно же нужно выдавать. Что мол "не получилось у Вас зарегистрироваться. Попробуйте ещё". Во избежание продолжения дисскусии хочу сказать, что тот вариант, который ruletka131 написал - тоже очень хорош. Просто я напомнил ещё про один вариант решения задачи.
ruletka131 а что если между select и insert будет insert другим юзером? "Данные не записаны"? имхо, лучше повесить уникальный индекс, сразу делать инсерт и парсить ошибку сервера на дубликацию как бонус - минус один запрос к базе (SELECT COUNT)