我有一個好奇的問題。當我對一行進行更新時,信息會更新,但不是我期望的更新。我把這個代碼mysqli的行更新時由1更新被稱爲
$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我expected.This線有在我用過的其他應用程序中工作......但現在它表現得很奇怪。任何幫助將不勝感激。
下面是完整的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將遞增'v_count'的想法或'v_count'從什麼是數據庫中的一個完全不同的數字? – jsfan
'$ v_count'從哪裏來?或者嘗試(因爲我不知道你的代碼的其餘部分)第二個版本適用於:'SET v_count = v_count + 1' - 如果這是你想達到的目標!? – Jeff
'$ v_count'正在此代碼上方的while循環中定義。就像我說的,它是工作,但增加了2計數,而不是預期的1 @jsfan,v_count是在數據庫中,和每一個視頻被調用的時候,我想這隻能由1增加目前,它正在增加通過2 –