我对inset关键字的简单php脚本。如果关键字已经退出,我需要更新点击计数器..我该怎么办?如果关键字是"样本"如果已经存在于db中我需要更新"命中" = 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' )");
答案 0 :(得分:1)
您是否尝试过使用ON DUPLICATE KEY
?
INSERT INTO table (columns)
VALUES (values)
ON DUPLICATE KEY UPDATE hits = hits + 1
因为您在关键字上有一个唯一键,它会将命中数增加1
侧面注意:
不要使用PHP的mysql_ * deprecated API,它存在很多安全问题。您应该使用参数化查询 mysqli_* 或 PDO