Noobie问题。 PHP else if语句

时间:2013-12-04 23:20:32

标签: php if-statement mysqli

我正撞到墙上......这只是我代码的一小部分:

$stmt = $db->prepare("SELECT vote,id FROM votes WHERE post_id = ? AND user_id = ? "); 
$stmt->bind_param('ii', $post_id, $user_id);
$stmt->execute(); 
$stmt->store_result();
$stmt->bind_result($result, $vote_id);
$stmt->fetch();
$num_rows = $stmt->num_rows;
$stmt->close();

if ($num_rows>=1)
{

if ($result!==$vote)   
{        
$stmt = $db->prepare("UPDATE votes SET vote = ? WHERE id=?"); 
$stmt->bind_param('ii', $vote, $vote_id);
$stmt->execute();
$stmt->close();
}

else if ($result==$vote) 
{
$stmt = $db->prepare("UPDATE votes SET vote = 0 WHERE id=?"); 
$stmt->bind_param('i', $vote_id);
$stmt->execute();
$stmt->close();
}    
}

没有显示错误,脚本工作正常,直到它到达ELSE IF部分。虽然$ vote值与数据库中的相同,但它不会更新。

1 个答案:

答案 0 :(得分:3)

!==strict comparison operator,此声明表示$result不得相同(在类型和值上){{1 }}。你不需要那样具体。

$vote

你应该做的是:

if ($result!==$vote)