|
|
|
| Как проверить существует ли такая запись в БД в соответствующем поле или нет?
Я сделал вот так, но видимо не правильно
$pr = "SELECT * FROM reg WHERE name";
$pr1 = mysql_query($pr);
if (pr1)
{
if(mysql_num_rows($pr1)>0)
{
echo "Данное имя уже есть!";
}
}
else echo "Ошибка регистриции!";
|
| |
|
|
|
|
|
|
|
для: ols
(28.10.2007 в 22:30)
| | "ВЫБРАТЬ всё из таблицы reg ГДЕ имя"
- Чего имя, кому имя, чьё имя - неизвестно...
Осмелюсь предположить, что у Вас иемется переменная name, идущая из формы регистрации. Если я угадал, то попробуйте это:
<?
$pr = "SELECT * FROM reg WHERE name = '".$_POST['name']."'";
if(mysql_num_rows($pr)) echo "Данное имя уже есть!";
?>
|
| |
|
|
|
|
|
|
|
для: ols
(28.10.2007 в 22:30)
| | Если речь идет только о проверке. Наверное все же лучше в запросе использовать агрегатную COUNT, а не выбирать все записи. | |
|
|
|
|
|
|
|
для: oradev
(29.10.2007 в 09:57)
| | Хм, странно.
Вот весь кусок (это пример для разборки)
$name = "gbh";
$pr = "SELECT * FROM reg WHERE name = '".$_POST['name']."'";
$_POST['name']."'";
$pr1 = mysql_query($pr);
if (pr1)
{
if(mysql_num_rows($pr)) echo "Данное имя уже есть!";
}
else echo "Ошибка регистриции!";
$zapros = "INSERT INTO reg VALUES (0, '$name','123456','vfdvbdf@rgrgh.hgh')";
if (mysql_query($zapros))
{
echo "вы зарегистрированы";
}
else echo "Ошибка!";
|
Вот что выводит:
Notice: Undefined index: name in s:\home\cms\www\reg\reg.php on line 4
[Денвер: показать возможную причину ошибки]
Notice: Undefined index: name in s:\home\cms\www\reg\reg.php on line 5
Notice: Use of undefined constant pr1 - assumed 'pr1' in s:\home\cms\www\reg\reg.php on line 8
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in s:\home\cms\www\reg\reg.php on line 10
вы зарегистрированы
|
Вот сама структура таблицы
CREATE TABLE `reg` (
`id_user` int(11) NOT NULL auto_increment,
`name` tinytext NOT NULL,
`pass` tinytext NOT NULL,
`email` tinytext NOT NULL,
PRIMARY KEY (`id_user`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=30 ; | |
|
|
|
|
|
|
|
для: ols
(29.10.2007 в 21:56)
| |
if (pr1)
{
if(mysql_num_rows($pr)) echo "Данное имя уже есть!";
}
|
в условии забыли переменную обозначить, а функции передали строку запроса, а не ответ сервера | |
|
|
|
|
|
|
|
для: ols
(29.10.2007 в 21:56)
| | Думаю это будет работать:
<?
$pr = mysql_query("SELECT * FROM reg WHERE name = '".$_POST['name']."'");
if ($pr)
{
if(mysql_num_rows($pr))
{
echo "Данное имя уже есть!";
}
else
{
$zapros = mysql_query("INSERT reg SET name = '".$_POST['name']."', pass = '".$_POST['pass']."', email = '".$_POST['pass']."'");
if ($zapros) echo "Вы зарегистрированы";
else echo "При регистрации возникла ашЫпка!";
}
}
else echo "При запросе возникла ашЫпка!";
?>
|
| |
|
|
|