我正在开发一个名为Poll-lite的插件。我希望用户每次投票只投票一次,我通过获取IP地址来做到这一点。我有以下代码。
$ip = $_SERVER['REMOTE_ADDR'];
$thequery = "SELECT COUNT(*) AS total FROM `$pollresult_table_name` WHERE ip = ".$ip;
$res = $wpdb->get_results( $thequery );
if ( $res[0]->total > 0 ) {
$personip = $res[0]->total;
echo "You may vote only once in 24 hours";
} else {
$query = "INSERT INTO `$pollresult_table_name` VALUES(NULL, '$id', '".$_POST['merlic_poll_vote']."', NULL, '".$ip."', NOW())";
$wpdb->query($query);
}它所做的是获取IP地址,并在数据库中检查该IP是否已经存在,如果该IP已经存在,它将返回“已投票”,但如果还不存在,则它将在数据库中插入用户的答案及其IP,以便下次同一用户投票时,他不能再投票,因为该IP已经在数据库中注册。我的问题是,它不能读取我的if-else中的条件。会出什么问题呢?
发布于 2012-02-25 04:03:58
".$ip;
这不应该是=‘“.$ip”吗?’
还可以使用$rows = mysql_num_rows($result);检查mysql查询返回的行数。大于零表示找到匹配项,否则不匹配。
if($rows>0)
{
do condition
}
else
{
}https://stackoverflow.com/questions/9433730
复制相似问题