我有這個簡單的預排序數據庫輸入的東西,我之前創建了這個,我搞砸了是什麼方面。爲什麼這個PHP,而查詢不工作?
有兩個不同的表格:一個表格,用於跟蹤關鍵字的頻率以及表格中與關鍵字配對的表格。
我在做什麼是通過關鍵字保存某些東西,我檢查是否存在關鍵字,如果存在,我遞增該關鍵字的計數,然後繼續將條目添加到條目數據庫,如果沒有,我創建該關鍵字在關鍵字表中的新條目並將計數設置爲1,然後將條目添加到條目數據庫中。
$query = "SELECT COUNT(*) FROM key WHERE key=?";
if($stmt = $link->prepare($query)){
$stmt->bind_param('s',$key);
$stmt->execute();
while ($row = $stmt->fetch_row()){
$count = $row[0];
}
// count comes out here
// echo $count;
if($count==0){
// insert new entry
$stmt = mysqli_prepare($link, "INSERT INTO entry VALUES (?,?,?,?,?)");
$stmt->bind_param('issss',$id,$poster,$key,$entry,$date);
$stmt->execute();
// insert new key
$stmt = mysqli_prepare($link, "INSERT INTO key VALUES (?,?,?)");
$stmt->bind_param('isi',$id,$key,$numtimes);
$stmt->execute();
} else {
// insert new entry
$stmt = mysqli_prepare($link, "INSERT INTO entry VALUES (?,?,?,?,?)");
$stmt->bind_param('issss',$id,$poster,$key,$entry,$date);
$stmt->execute();
// update key count
$stmt = mysqli_prepare($link, "UPDATE key SET numtimes=key+1 WHERE key=$key");
$stmt->bind_param('s',$key);
$stmt->execute();
}
}
首先聲明$ count = 0;在while循環之前,假設如果沒有數據行,那麼$ count就是沒有,你只在第一個時使用它 – sandeepKumar
我不明白,這大概是我以前如何使用這個方法。我從來沒有宣佈計數,這是查詢的結果。因此,如果根據* successful * msql查詢沒有數據,則該行將爲0. – janicehoplin
請正確縮進該代碼。 (如果是關於while塊的具體情況,請參考相關內容。) – mario