Проверка на существование записи в бд

sapr

Новичок
Проблема такая: есть сайт, на нем есть форма регистрации заявки, когда пользователь забивает свои данные нужно проверить, существует ли такая запись в бд, если нет, то записать в бд, а если есть, то вернуть ее айдишник (т.е. у каждой заявки есть свой айди)

Начала так
if (isset($_POST['send'])) {
$result=$db->query("SELECT * FROM users WHERE name=' ".$_POST['name']." ' and address=' ".$_POST['address']." ' and email=' ".$_POST['email']."' and phone=' "$_POST['phone']." ' LIMIT 1");
if(!result)
$query="INSERT INTO users (name,address, email, phone) VALUES (' ".$_POST['name']. " ', ' ".$_POST['address']. " ', ' ".$_POST['email']. " ', ' ".$_POST['phone']. " ')";
$insert=$db->query($query);
if ($insert === false) {
exit ("oshibka! ". $db->error);
}
else
{
 
Последнее редактирование:

Фанат

oncle terrible
Команда форума
То есть вся надежда на то что клиент два раза вобьет свой адрес полностью идентично.
Какая наивность
 

WMix

герр M:)ller
Партнер клуба
PHP:
$result=$db->query("SELECT * FROM users WHERE name=' ".$_POST['name']." ' and address=' ".$_POST['address']." ' and email=' ".$_POST['email']."' and phone=' "$_POST['phone']." ' LIMIT 1");
$query="INSERT INTO users (name,address, email, phone) VALUES (' ".$_POST['name']. " ', ' ".$_POST['address']. " ', ' ".$_POST['email']. " ', ' ".$_POST['phone']. " ')";
никто не скажет о sql-injection?
 

antson

Новичок
Партнер клуба
Какой зачетный тролинг ;)

составной уникальный ключ из полей нормализация которых всегда головная боль ;)

телефон
123456 12-34-56 123-456 и другие варианты
[email protected] только так ? а вот и нет часть до собаки тоже может иметь варианты
нормализация кадастровой информации - это вообще песня.
Фамилия Имя Отчество Имя Отчество Фамилия Фамилия И.О. лишние пробелы . опечатки Как это будете ловить ? Все больше одной буквы ? А как же народности без отчества или у кого 4 части ? И да из одной буквы фамилия есть по паспорту как минимум у одного человека.

p.s. Хочу сходить в паспортный стол и сменить фио на Onore'Drop Database
 

garik2017

Новичок
public function select($table, $where=null,$sort=null,$processRowSet=true)
{


$sql = "SELECT * FROM $table $where $sort";

$result = mysql_query($sql) or die(mysql_error());
if($processRowSet==true)
{
if(mysql_num_rows($result) == 1) //Возвращает количество рядов результата запроса == 1
return $this->processRowSet($result, true);
return $this->processRowSet($result);
}
else
{
return $result;
}
}
$table='table';
$where="WHERE id=5";
$rows=$db->select($table, $where);// $db в конструкторе подключается к бд
{$rows[ickomoe]}
 
Последнее редактирование:
Сверху