0

我还有另一个问题,我花了几个小时来理解和重写。在 UPDATE 查询中,我包含了 countr=countr+1。我成功地从移动应用程序接收到关键字,并且还能够将它们存储在数据库中。问题是,每当第五次传递相同的关键字时,就会创建一个新行。而不是将该关键字的计数加 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));
    }
}

这是存储关键字和计数的表:

数据库表

它只是不会超过 4。Android 应该有一个 9 和 Java 5 的计数。你认为我做错了什么?

4

2 回答 2

0
$_POST[keyWord] 

应该

$_POST['keyWord']
于 2013-09-24T11:03:55.433 回答
0

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

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

于 2013-09-24T11:04:52.337 回答