Intereting Posts
Вставить событие в Календарь Google, используя php XSS – Какие HTML-теги и атрибуты могут вызывать события Javascript? CSS Sprites возвращаются к событию: hover из-за PHP-заявления Возможная ошибка: значения таблиц API-интерфейсов Facebook отображаются с десятичными точками raw Блокирование возможности создания классов непосредственно в обход фабрики Как AUTOINCREMENT, начиная с определенного количества / смещения? laravel – не удается перенаправить множественную аутентификацию на разные страницы PHP Foreach If Array Last Как анализировать HTML-таблицу с помощью PHP? Как установить атрибут ввода формы в laravel 4 Как просмотреть значение длинных строк с помощью NetBeans и x-debug? Есть ли встроенная функция или плагин для обработки форматирования даты в JavaScript? Карта Google не отображается Проверка продуктов в корзине по названию категории woocommerce? Прикладные сетевые приводы

создайте запись mysql, если она не существует, иначе обновите ее

Я хотел бы изменить этот запрос MySQL, чтобы вставить строку, только если она не существует. В противном случае я хотел бы обновить существующую строку.

<?php $query = mysql_query("UPDATE hqfjt_email_history SET datesent = ['datesent'],emailformname = ['emailformname'],leadname = ['leadname'] WHERE emailformname = ['emailformname'] AND leadname = ['leadname']") or die(mysql_error()); ?> 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~ EDIT >>

Правильно ли это?

 INSERT INTO hqfjt_email_history datesent = ['datesent'],emailformname = ['emailformname'],leadname = ['leadname'] ON DUPLICATE KEY UPDATE hqfjt_email_history SET datesent = ['datesent'],emailformname = ['emailformname'],leadname = ['leadname'] WHERE emailformname = ['emailformname'] AND leadname = ['leadname'] 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~

Я пробовал выше и получил ошибку: у вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с 'dateent = [' dateent '], emailformname = [' emailformname '], leadname = [' leadname '' в строке 1

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~

ОБНОВИТЬ ! Хорошо, я пробовал это, и он создает запись в порядке:

Если я это сделаю, ничего не происходит, ничего не обновляется или не создается ???? :

 <?php $query = mysql_query(" INSERT INTO hqfjt_email_history (id, leadname, emailformname, datesent) VALUES ('$_POST[id]','$_POST[leadname]','$_POST[emailformname]','$_POST[datesent]') ON DUPLICATE KEY UPDATE hqfjt_email_history (datesent) VALUES ('$_POST[datesent]') WHERE id = '$_POST[id]'"); ?> 

Да, используйте INSERT INTO ... ON DUPLICATE KEY UPDATE синтаксис.

http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html

Вам понадобится ключ, определенный в таблице типов UNIQUE или PRIMARY KEY .

Также ЗАМЕНИТЬ .

Которая обновит существующую строку или создаст новую, если она не существует, также синтаксис похож на INSERT .

Он делает именно то, что INSERT ... ON DUPLICATE KEY UPDATE делает, но я думаю, что этот подход более изящный.

Да, используйте ON DUPLICATE KEY UPDATE

для этого. Вот пример:

 INSERT INTO <table> (<field1>, <field2>) VALUES (<value1>, <value2>) ON DUPLICATE KEY UPDATE <field2> = 'update CONTENT'; 

Важным является первичный ключ (подчеркнутый в таблице phpMyAdmin).

прочитайте этот URL

http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html

проверьте базу данных по электронной почте и имя