2015-02-26 40 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