我想查看keyWord是否已經存在於表searchwords中。如果是這樣,那麼國家就會增加一個。如果它不存在於表中,那麼我使用INSERT。問題是,傳遞到站點的關鍵字未存儲在數據庫中。另一個BIG問題是國家不增加。是因爲if語句嗎?或者它是while循環?更新mysql表中的數據
<?php
date_default_timezone_set('Asia/Manila');
$today = date('m-d-Y');
echo $today;
$urltopost = "http://opac.usls.edu.ph/TLCScripts/interpac.dll?Search";
$datatopost = "FormId=0&Config=pac&LimitsId=0&StartIndex=0&SearchField=7&SearchType=1&ItemsPerPage=20&SearchData=$_POST[keyWord]";
$ch = curl_init ($urltopost);
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $datatopost);
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$returndata = curl_exec ($ch);
echo $returndata;
$con=mysqli_connect("...","...","...","...")or die ('Error: ' . mysql_error());
$sql= "SELECT * FROM searchedWords";
$result= mysqli_query($con,$sql);
while($row=mysqli_fetch_array($result, MYSQLI_ASSOC))
{
if($row['keyWord']==$_POST[keyWord])
{
$upD="UPDATE searchedWords SET countr = countr + 1 WHERE keyWord = '".$row['keyWord']."'";
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));
}
}
}
?>
謝謝那些能幫助我的人。
請你寫之前** *任何*更多SQL接口代碼,您必須閱讀[正確的SQL轉義](http://bobby-tables.com/php)以避免嚴重的[SQL注入漏洞](http://bobby-tables.com/)。當使用'mysqli'時,您應該使用參數化查詢和['bind_param'](http://php.net/manual/en/mysqli-stmt.bind-param.php)將用戶數據添加到您的查詢中。 **從不**使用字符串插值來實現這一點。 – tadman
if($ row ['keyWord'] == $ _ POST [keyWord])對這兩個變量都執行var_dump。 – Mihai