UPDATE查询的增量不超过4

时间:2013-09-24 10:47:41

标签: php mysql sql increment

我有另一个问题,我花了几个小时理解和重写。在UPDATE查询中,我包括countr = countr + 1。我成功地从移动应用程序接收了关键字,并且还能够将它们存储在数据库中。问题是,每当第五次传递相同的keyWord时,就会创建一个新行。而不是向该keyWord的国家添加1。这就好像国家只限于持有4号。

是因为我对UPDATE查询的错误还是因为我错过了其他内容?

这是我的代码:

$con= mysqli_connect("...","...","...") or die ('Error: ' . mysql_error()); 
mysqli_select_db($con,"...");
$sql= "SELECT keyWord FROM searchedWords";
$result= mysqli_query($con,$sql);
$row=mysqli_fetch_array($result, MYSQLI_ASSOC);

if($row['keyWord']==$_POST[keyWord])
{
  $upD="UPDATE searchedWords SET countr = countr + 1";
     while (!mysqli_query($con,$upD))
    {
     die('Error: ' . mysqli_error($con));
    }
}
else
{
   $insertIn="INSERT INTO `searchedWords`( `keyWord`, `countr`) values ('$_POST[keyWord]',1)";
 while (!mysqli_query($con,$insertIn))
    {
     die('Error: ' . mysqli_error($con));
    }
}

以下是存储keyWords和countr的表:

the DB table

它不会超过4. Android应该有一个9和Java 5的国家。 你觉得我做错了什么?

2 个答案:

答案 0 :(得分:0)

$_POST[keyWord] 

应该是

$_POST['keyWord']

答案 1 :(得分:0)

您必须在更新查询中指定要更新的行,否则它将更新所有值...以及我可以看到的另一个错误

我不确定此代码中($row['keyWord']==$_POST[keyWord]) $_POST['keyword']关键字应该在引号中......希望它会有所帮助