我正嘗試用用戶在論壇中編輯的帖子更新我的數據庫。整個編輯表單在單擊編輯表單提交併轉到主論壇頁面時運行良好,但數據庫和帖子不會更改。用戶更新數據庫編輯
當按下提交編輯按鈕我有這樣的:
<input name="a_id" type="hidden" value="<? echo $rows['a_id']; ?>">
<input name="question_id" type="hidden" value="<? echo $rows['question_id']; ?>">
<input type="submit" name="Submit" value="edit post">
我保存編輯代碼是這樣的:
#data preparation for the query
$id=intval($_POST['id']);
$a_id=intval($_POST['a_id']);
$question_id=intval($_POST['question_id']);
foreach ($_POST as $key => $value)
$_POST[$key] = mysql_real_escape_string($value);
$sql = "UPDATE $tbl_name SET a_answer='$_POST[a_answer]' WHERE a_id='$a_id' AND question_id='$question_id'";
if (!mysql_query($sql)) {
die('Error: ' . mysql_error());
}
mysql_close;
header ("location: main_forum.php");
?>
任何想法?
編輯
對於那些誰發現這個問題不像@mario有用的,問題是我發送到保存編輯頁面的變量。
<input name="a_id" type="hidden" value="<? echo $rows['a_id']; ?>">
<input name="question_id" type="hidden" value="<? echo $rows['question_id']; ?>">
本來應該
<input name="a_id" type="hidden" value="<? echo $a_id; ?>">
<input name="question_id" type="hidden" value="<? echo $question_id; ?>">
該代碼看起來幾乎相同,在你以前的問題http://stackoverflow.com/questions/5841763/why-does-my-edit-forum-answers-functionality-update-multiple-fields - 特別是你didn不應用評論中提供的一些建議。 - 這裏是另一個:閱讀一些關於基本調試的教程。 - 你的問題有點無聊,逐行修正不是Stackoverflow的目標。而且你已經在你極其基礎的論壇腳本上發佈了一打。 – mario 2011-05-01 00:41:03
在我以前的帖子中,編輯更新了所有的答案帖子。現在它不更新任何? - 我不是故意傷害你的。我對這一切都非常陌生,這是我需要修復我的頁面以使其完全運行的最後一件事。 – Novice 2011-05-01 00:46:03
你沒有給出任何與細節有關的信息來說明原因。打印您的SQL並打印數據,將其與數據庫進行比較,手動運行查詢(PhpMyAdmin)以查找。試着自己找一次原因。 - 不要發佈任何關於此的更多問題。 – mario 2011-05-01 00:49:38