更新为1时,MYSQLI行更新为2

时间:2016-03-01 01:16:23

标签: php mysqli

我有一个奇怪的问题。当我对行进行更新时,信息会更新,但不会更新。我叫这段代码

$count = $v_count+1;
mysqli_query($db_conn, "UPDATE videos SET v_count='$count' WHERE id='$vk'");

我也尝试过这段代码......

if(isset($_POST['vk'])){
mysqli_query($db_conn, "UPDATE videos SET v_count='$v_count'+1 WHERE id='$vk'");

}else{
echo mysqli_error($db_conn);exit();
}

它确实有效,但数量增加了2,而不是我预期的1。这条线已经在我用过的其他应用程序中工作了......但现在它表现得很奇怪。任何帮助将不胜感激。
这是完整的PHP块

$vk = $_GET['vk'];
if($vk != ''){
$sql = "SELECT * FROM videos WHERE id='$vk' LIMIT 1";
$query = mysqli_query($db_conn, $sql) or die (mysqli_error()); 
while ($row = mysqli_fetch_array($query)) { 
$v_count            = $row['v_count'];
}
mysqli_query($db_conn, "UPDATE videos SET v_count=v_count+1 WHERE id='$vk'");
mysqli_free_result($query);
}else{
    header('location: index.php');
}

1 个答案:

答案 0 :(得分:0)

您的应用程序逻辑可能有一些错误,因此PHP代码中的$v_count不等于MySQL表中的v_count字段。

如果您使用

mysqli_query($db_conn, "UPDATE videos SET v_count=v_count+1 WHERE id='$vk'");

无论$ v_count PHP变量的值是多少,它总是会增加1。

相关问题