使用if else语句更新数据库中的字段

时间:2013-09-24 06:02:30

标签: php mysql if-statement

我正在使用$ _POST从另一个应用程序接收项目,我正在尝试查看该项目是否已存在于数据库中。如果是,则$ count增加1。如果它在数据库中不存在,那么它将使用INSERT INTO添加。

这是我的代码:

<?php
   date_default_timezone_set('Asia/Manila');
   $today = date('m-d-Y');
   echo $today;

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

   if($result==$_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));
        }
   }
?>

我不知道出了什么问题。根本没有项目被发送到数据库。有谁知道如何解决它?

2 个答案:

答案 0 :(得分:2)

像这样改变你的代码......

 $result= mysqli_query($con,"SELECT keyWord FROM searchedWords");
 $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));
    }
 }

$ result == $ _ POST ['keyWord'] 将无效,因为$ result是对象,所以......

答案 1 :(得分:0)

此行之后

$result= mysqli_query($con,$sql);

您必须获取数据

  $keyword = '';
/* fetch associative array */
    while ($row = $result->fetch_assoc()) {
        $keyword =  $row["keyWord"];
    }