我有一個表單發佈與特定行有關的2個字段的數據。根據誰在使用它,表單的行數可能會有所不同。但是它不更新表格的任何部分。如果我把while循環取出,它只會更新最後一行。有關如何修復它的任何建議?foreach的問題
foreach($_POST as $k=>$p){ ${$k}=$p; }
if (isset($_POST['Update'])) {
$result = mysql_query("SELECT id, rank FROM accounts WHERE tag='$tag'");
while ($row = mysql_fetch_assoc($result)) {
//Set Variables
$query = "UPDATE accounts SET rank=$rank WHERE id=$m_id";
mysql_query($query);
}
}
我相信你應該把這個如果{...}部分在foreach中?它只執行一次。 – 2014-08-31 09:33:21
您的更新不在循環中。只會有一個更新。你必須以某種方式循環回答。您應該發佈您提交的表單。 – 2014-08-31 09:34:53
如果您不熟悉PHP和MYSQL,請閱讀[文檔](http://php.net/manual/en/function.mysql-query.php)頂部的紅框。這些功能不應再使用。此外,您應該使用準備好的語句,而不是在查詢字符串中擴展變量。 – 2014-08-31 09:42:30