我正在尝试更新 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) 用于标识需要更改的行。
我的问题是,如何从发布的表单中获取该行的新内容并创建查询来更新它?我似乎无法弄清楚如何动态获取表单的名称以及编写查询的新内容。
如果需要任何澄清,请告诉我,感谢所有帮助。
谢谢。