Мой простой PHP-скрипт для вставки ключевого слова. Если ключевое слово уже завершено, мне нужен счетчик обновлений .. Как я могу это сделать? если ключевое слово «образец», если оно уже есть в БД, мне нужно обновить «хиты» = 2, если опять то же ключевое слово «хиты» = 3
CREATE TABLE IF NOT EXISTS `search` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`keyword` varchar(255) NOT NULL,
`hits` varchar(255) NOT NULL,
`date` datetime DEFAULT NULL,
PRIMARY KEY (`ID`),
UNIQUE KEY `keyword` (`keyword`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=22 ;
мой php:
$raw_results = mysql_query("INSERT INTO search (keyword, date) VALUES ('$keyword', '$date' )");
Вы пытались использовать ON DUPLICATE KEY
?
INSERT INTO table (columns)
VALUES (values)
ON DUPLICATE KEY UPDATE hits = hits + 1
потому что у вас есть уникальный ключ по ключевому слову, он будет увеличивать попадания на 1
ПРИМЕЧАНИЕ:
не используйте PHP mysql_ * осуждается API у него много вопросов безопасности. Вместо этого вы должны использовать параметризованные запросы с mysqli_ * или же PDO
Других решений пока нет …