2015-02-26 66 views
0

以下是示例代碼,但不起作用。使用PHP中的準備語句更新每個更新表字段1

if($increment = $cxn -> prepare("UPDATE products SET `yes`=? WHERE `id`=?")) { 
    $yes = 'yes + 1'; 
    $increment -> bind_param("is", $yes, $id); 
    $increment -> execute(); 
    $increment -> close(); 
}else{ 
    die(mysqli_error($cxn)); 
} 

數據類型: $是 - >整數 $ ID - >字符串

問題: 它沒有增加表的字段。它總是返回'0'。

+0

任何幫助將不勝感激! – user3472449

+0

'不工作'究竟意味着什麼?你在哪裏得到哪個錯誤? – MBaas

+0

該值未遞增。總是返回'0'。 – user3472449

回答

1

$yes需要在某個地方初始化,然後你應該做$yes = $yes + 1;或更短的$yes +=1;或甚至更短的$yes++;

+0

'yes'是表中需要增加的字段。它不是一個PHP變量。 – user3472449

+0

哦,我明白了。但是你不能使用這種變量表達式的綁定!但是,由於您總是在代碼的分支中增加,爲什麼不將語句更改爲'UPDATE products SET yes = yes + 1 WHERE'id' =?' – MBaas

+0

'yes'增量值可能不總是'1'。這可以是來自用戶的任何整數。 '1'僅用於數據表示。 – user3472449