我在我的博客每篇文章一個布通一樣,我想在用戶進行登錄到喜歡的訊息只有一次......如何使登錄用戶只在帖子上只有一次?
我在我的數據庫這三個表:
表tbladminXshouts
CREATE TABLE `tbladminXshouts` (
`admin_id` int(20) NOT NULL,
`id` int(20) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
表tbladmin
CREATE TABLE `tbladmin` (
`admin_id` int(11) NOT NULL AUTO_INCREMENT,
`admin_usr_name` varchar(225) NOT NULL,
`admin_pwd` varchar(225) NOT NULL,
PRIMARY KEY (`admin_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=23 ;
表shouts
CREATE TABLE `shouts` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(45) NOT NULL,
`email` varchar(60) NOT NULL,
`lund` varchar(70) NOT NULL,
`LundaBlogg` varchar(20) NOT NULL,
`date` datetime NOT NULL,
`likes` int(11) NOT NULL,
`post` text NOT NULL,
`ipaddress` varchar(45) NOT NULL,
`userName` varchar(100) NOT NULL,
PRIMARY KEY (`id`),
KEY `email` (`email`),
KEY `lund` (`lund`),
KEY `name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=25 ;
現在我使用這段代碼,並且用戶可以像帖子一樣多次他們想要的。 我應該寫什麼sql來讓我的用戶只在帖子上只有一次?
<?php
class Like
{
function like()
{
if(isset($_POST['Gilla']))
{
$sql="UPDATE shouts SET likes = likes +1 WHERE id = '".$_POST['id']."'";
$result=mysql_query($sql);
}
}
}
?>
不是問題的答案,但請在將它輸入sql語句之前對輸入進行清理以防止sql注入 – Mark 2013-03-19 15:07:14
**小心!**'mysql_ *'函數[老且不應該再使用]( http://bit.ly/phpmsql)。請查看[PDO](http://php.net/pdo)或[MySQLi](http://php.net/msqli),這些更好[MySQL API選項](http:// php。淨/手動/ EN/mysqlinfo.api.choosing.php)。 – 2013-03-19 15:08:08
編寫一個查詢,選擇他們標記爲的項目。不要顯示任何可以讓他們再次喜歡這些物品的東西。 – 2013-03-19 15:08:11