我想更新mysql數據庫中的一行。要做到這一點,我會用一個簡單的查詢是這樣的:爲動態數據庫創建更新查詢
"UPDATE `contactinfo` SET `Company` = 'Google', WHERE `id` = '1';"
的問題是,該數據庫是動態的,用戶可以隨時添加列。所以我不知道列的名字。要找到名稱和創建表單張貼到會怎麼做MySQL的工作頁面使用此代碼:
<?php
$result = mysql_query("select * from contactinfo WHERE `id` = '".$rid."';");
if (!$result) {
die('Query failed: ' . mysql_error());
}
$i = 0;
while ($i < mysql_num_fields($result)) {
$meta = mysql_fetch_field($result, $i);
if (!$meta) {
echo "ERROR";
}
$name = $meta->name;
$r = mysql_fetch_array(mysql_query("select * from contactinfo WHERE `id` = '".$rid."';"));
$content = $r[$name];
if($name != 'id') {
echo "<tr><td align='center'><div align='left'>Edit ".$name."</div></td></tr>";
echo "<tr><td align='center'><input type='text' value='" . $content . "' /></td></tr>";
}
$i++;
}
mysql_free_result($result);
?>
這與輸入框,允許用戶編輯的內容創建了一個可愛的小表已被選中的行。行ID號($ rid)用於識別哪一行需要更改。
我的問題是,我如何從發佈的表單獲取行的新內容並創建一個查詢來更新它?我似乎無法弄清楚如何動態獲取表單的名稱以及寫入查詢的新內容。
如果需要澄清,請讓我知道,所有幫助表示讚賞。
謝謝。
我試圖寫一個while循環來獲取帖子,並給他們所有的尊重變量,但由於我不知道在$ _POST ['名字'] – Olokoo
@ Ian34中使用失敗 - 請記住$ _POST只是一個關聯數組,所以即使你不知道它們是什麼,你也可以獲得所有的鍵(字段名)。像這樣'foreach($ _ POST作爲$ key => $ value)' –