我可以使用JQuery变量来选择MYSQL列吗?

时间:2017-07-08 23:15:41

标签: php mysql

当我的某个表单(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变量来选择列。任何建议将不胜感激。谢谢!

2 个答案:

答案 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,
);