Этот вопрос закрыт для ответов, так как повторяет вопрос Как написать On dublikate?
@kiril9011

Как правильно запрос к БД написать?

Здравтсвуйте! Есть поля формы и мне надо чтоы при вводе значений в них была запись в БД, но если эта запись уже сделана она перезаписывалась, если есть вопросы спрашивайте, мой код:

$insert_sql = "INSERT INTO main (nazv,text, user_id)". "VALUES ('{$nazv}','{$text}', '{$_SESSION['id']}')".
"ON DUPLICATE KEY UPDATE  nazv = VALUES('{$nazv}'), text= VALUES ('{$text}'), user_id= VALUES ('{$_SESSION['id']}');
";

mysql_query($insert_sql);

 {echo 'ок';} 
 }

она работает, но только записывает в БД, а обновления нет, в чем ошибка?
  • Вопрос задан
  • 266 просмотров
Ответы на вопрос 2
@ynblpb_spb
дятел php
У вас должно быть в таблице установлено либо primary index для поля (например на поле id), либо unique index для какого-нибудь поля. Тогда ваш запрос будет работать как задумано
Ответ написан
slo_nik
@slo_nik Куратор тега PHP
Добрый вечер.
Сначала проверяете, есть ли такая запись в базе, и на основании ответа сервера формируете запрос, или insert или update.
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы