[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: INSERT INTO без совпадения
m4a1fox
Господа, туплю, а ну ка скажите как вот такой запрос
INSERT INTO `login` SET `name` = '".$post['name']."', `pass` = '".$post['pass']."', 
`encode` = '".$post['email']."'
сделать так, что бы добавлялось только если нет в БД таккого же имени?! Спасибо!



Спустя 8 минут, 57 секунд (11.07.2011 - 12:28) VolDroN написал(а):
$query = mysql_query("SELECT `id` FROM `login` WHERE `name`='{$post['name']}'");
if(mysql_num_rows($query) > 0) echo 'Такое имя занято.';
else
{
$query = mysql_query("INSERT INTO `login` SET `name` = '".$post['name']."', `pass` = '".$post['pass']."',
`encode` = '"
.$post['email']."'");
....

}

Спустя 55 секунд (11.07.2011 - 12:29) m4a1fox написал(а):
VolDroN
Получается, 2 запроса, в один никак.... печалька!

Спустя 7 минут, 34 секунды (11.07.2011 - 12:36) VolDroN написал(а):
в один незнаю как, если есть решение, то мне самому интересно)

Спустя 12 минут, 39 секунд (11.07.2011 - 12:49) Winston написал(а):
Например так, можно попробовать:
INSERT INTO `login` (`name`, `pass`) VALUES ('".$post['name']."', '".$post['pass']."') IF NOT  
EXISTS
(SELECT `name` FROM `login` WHERE `name` = '".$post['name']."');

Спустя 3 минуты, 56 секунд (11.07.2011 - 12:53) m4a1fox написал(а):
у как! Я так думал это не сложно...а оказывается.... Ок! Буду делать всем спасибо!

Спустя 2 минуты, 1 секунда (11.07.2011 - 12:55) Mirexzpalich написал(а):
PHPprogramer
А так мона?

SELECT IF(
(
SELECT `name` FROM `login` WHERE `name` = '".$post['name']."' ),
0,
(
INSERT INTO `login` (`name`, `pass`) VALUES ( '".$post['name']."', `pass` = '".$post['pass']."') )
)

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.