2013-09-24 29 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"]; 
    }