当我的某个表单(name = QuestionTypeSelector
value = AddingFractions
)发布时,以下PHP代码段是运行代码的一部分:
$QuestionTypeSelector = $_POST['QuestionTypeSelector'];
$db->query(" UPDATE answers SET QuestionType = '$QuestionTypeSelector' WHERE user_id=$id");
$_POST['QuestionTypeSelector']
成功返回AddingFractions
,这成功设置$QuestionTypeSelector
= AddingFractions
。反过来,这会将标题为QuestionType
的列设置为AddingFractions
。
而不是这个,我想设置一个标题为AddingFractionsScore
的列等于2
。我尝试了以下代码,但它不起作用。
$QuestionTypeSelector = $_POST['QuestionTypeSelector'];
$db->query(" UPDATE answers SET '$QuestionTypeSelector+Score' = '2' WHERE user_id=$id");
换句话说,我正在尝试使用JQuery变量来选择列。任何建议将不胜感激。谢谢!
答案 0 :(得分:0)
不确定
$col = $_POST['QuestionTypeSelector'] . 'Score';
$db->query("UPDATE answers SET '$col' = '2' WHERE user_id=$id");
答案 1 :(得分:0)
这个过程非常危险,因为你可能是sql注入的受害者。 我建议你使用映射数组来选择你的列。 ES。 你的jQuery在变量POST中发布一个整数 $ _POST ['列'] = 0; 然后在您的php页面中,您获得post值并使用它ad键来检索列名
$availableColumns = array(
'QuestionTypeSelector',
'QuestionTypeSelector1,
);