动态更新MySQL / PHP的字段名/ column_name

问题描述

|| 有人可以指出我正确的方向/网站吗 PHP中有一种方法可以通过比较FORM中的字段名称数据库中的column_name来动态更新特定表。 例如 输入名称= \“电子邮件地址\” 和 数据库名称为email_address 我发现了一些东西,但我认为它并不那么灵活。     

解决方法

我有类似的东西,而且真的很稳定。 您要做的就是获取    您桌子上的留言,以及    生成您的输入字段    动态地 然后,将其重新发布后,将所有内容分解为一个字符串。检查收到的列名是否与您的表中的列名匹配,并同时内插值。 Add_slashes并转义任何引号或其他可能的sql注入字符。 以下代码是我用于MASSIVE项目的代码。
$postvars = $_POST;
 $q = \"replace into `\".$opertable.\"`
    (
    `\".(implode(\'`,`\',(remove__v(array_keys($postvars))))).\"`)
        values
    (
    \'\".(implode(\'\\\',\\\'\',$postvars)).\"\')\";
remove__v使用以下功能删除一些验证技术并提交按钮等
function removeObj($array) {
  foreach($array as $key => $value) {
    if (substr_count($key,\'obj__\')) unset($array[$key]);
  }
  return $array;
}
我所有的输入按钮都命名为obj __ * 希望你能明白。     ,应该可以仅从POST超级全局获取它们的密钥,但要考虑所涉及的安全风险。请记住,您的用户正在提交表单,他可以轻松创建一个名为
rights
的假输入字段,并为自己授予管理员权限! 如果仍然要使用它,则解决方案很简单。循环发布,获取键和值并将其附加到SQL查询中;因此:
$sql = \"UPDATE user SET \";
foreach($_POST as $key => $value)
    $sql .= $key . \" = \" . $value . \',\';

$sql = substr($sql,-1);       //Remove the last comma