Столкнулся с проблемой при работе с mysql_num_rows. Задача простая - перед добавление записи в базу - проверить наличие такой записи, аналогично при редактировании, перед UPDATE - выполнить проверку на дубликат. Но почему-то mysql_num_rows всегда возвращает или 1 или 0. Специально создал в базе несколько одинаковых полей и сделал выборку через PhpMyAdmin и функцию COUNT() - все поситано правильно, а вот mysql_num_rows - работает как-то загадочно. Эксперименты с синтаксисом запроса - ничего не дали. Вот примеры кода, которые использовались: PHP: $sql = mysql_query("SELECT COUNT(name) FROM `table` WHERE `name`='.$name.'"); $sql = mysql_query("SELECT COUNT(*) FROM `table` WHERE `name`='.$name.'"); $sql = mysql_query("SELECT * FROM `table` WHERE `name`='.$name.'");//здесь вообще не сработало echo mysql_num_rows($sql); Кто-то можем подсказать, как правильно с ней работать. Задача простая, перед добавлением и редактированием записи - проверить чтобы не было дубликата?
будет искать Код (Text): SELECT COUNT(name) FROM `table` WHERE `name`='.имя.'; а тебе нужно, наверное так что пиши Код (Text): $sql = mysql_query("SELECT COUNT(name) FROM `table` WHERE `name`='$name'"); или тебе нужно вот это Код (Text): $sql = mysql_query("SELECT id FROM `table` WHERE `name`='$name'"); , тогда возвратится массив id-шников и mysql_num_rows($sql) возвратит количество. Если же доводить до ума первый вариант с COUNT(), то Код (Text): $sql = mysql_query("SELECT COUNT(name) FROM `table` WHERE `name`='$name'"); echo mysql_result($sql,0); mysql_free_result($sql);