2013-09-24 32 views
1

我正在使用$ _POST从另一个应用程序接收项目,并试图查看该项目是否已存在于数据库中。如果是这样,则$ count增加1。如果它不存在于数据库中,那么它将使用INSERT INTO添加。使用if else语句更新数据库中的字段

这里是我的代码:

<?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)); 
     } 
    } 
?> 

我不知道什么是错的。根本没有项目被发送到数据库。有谁知道如何修理它?

+1

只是FYI ...你应该重新考虑在公共网站上发布你的密码 –

+0

删除你的凭据!你期望$结果是什么?为什么它会等于$ _POST [关键字]?什么是关键词? – andrewb

+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)); 
    } 
} 

$结果== $ _ POST [之后'keyWord']将无法​​正常工作,因为$结果是对象所以...

+0

感谢您的帮助。 –

+0

@ jr.greenDefender欢呼声... – Kalpit

0

此行

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

你要获取数据

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