我的php代码(唯一相关部分):
$sql="UPDATE `posts` SET `likes`=`likes`+1 WHERE `id`='$id'";
不起作用。我试图增加一个int值,这个值默认设置为零。变量id设置正确(来自html表单的响应),insert函数在下一行中工作正常。我已经研究了几个小时,但都空手而归,我想知道是否有人可以帮助我,或指出一个可能的解决方案的正确方向我。
这是我在下一行执行的查询:
$res= $mysqli->query($sql);
$mysql是数据库连接,$sql是上面的代码段。
这是table
1条答案
按热度按时间vs91vp4v1#
问题是
NULL
表中整数列的容差。我建议不要使用NULL
在整数列上。对于您当前的问题,至少有两种解决方法:使用
coalesce
选择值,或使用0
如果为空:更新帖子集likes=coalesce(likes,0)+1,其中id=10;
演示:http://sqlfiddle.com/#!9/54d9ae/1号
更新行,使其实际具有
0
价值观。... 或者你可以把它设成
1
有了那个更新。用这种方法,你可以where
子句并更正整个表,假设NULL
不正确。