提交表决数据库之前,我现在需要做的是为确保用户处理不当已经这样做了。
如何查询数据库,我想使用COUNT
或类似的东西来检查是否有任何匹配?
林不知道如何采取所有3个变量$userid, $id and $username
和比较voters
表。
基本上我希望能够建立一个IF:
If ($count = 0) {
ADD THE VOTE TO TABLE
} else {
//DIE
}
任何帮助感激....
$sql = "SELECT * FROM voters WHERE userid='$userid' AND id='$id' AND username='$username'";
$result = mysql_query($sql);
if(mysql_num_rows($result)){
// there ARE rows so user has already voted
}
else{
// no rows... user hasn't voted yet
}
不需要个性化......如果他们在数据库然后他们已经投了票。 :)
获取特定用户ID的投票记录。如果计数为零,则允许他们投票。
并请告诉我,$username
被转义或线路"INSERT INTO voters VALUES('$userid', '$id', '$username')";
我会假设(阅读“希望”)该用户名在用户注册之前已被转义...并且正在使用的字符串就是这个可回收字段,而不是用户输入。 – 2010-09-04 00:52:32
使用Oauth,用户名来自Oauth会话,而不是用户通过站点输入。 – CLiown 2010-09-04 00:58:59
在什么地方消毒请确保您有横跨三列的索引来提高此查找。 – bramp 2010-09-04 00:58:35
不,*使用* COUNT - 你发送表中的所有列数据,只是为了完全忽略COUNT。 – 2010-09-04 01:08:55
您不必全部选择 - 只需要发回ID即可。即使你指望你必须发回一些东西。 – 2010-09-04 09:16:35