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

Php 我可以使用JQuery变量来选择MYSQL列吗?,php,mysql,Php,Mysql,当我的一个表单(name=QuestionTypeSelectorvalue=AddingFractions)发布时,以下PHP代码片段是运行的代码的一部分: $QuestionTypeSelector = $_POST['QuestionTypeSelector']; $db->query(" UPDATE answers SET QuestionType = '$QuestionTypeSelector' WHERE user_id=$id"); $\u POST['Questio

当我的一个表单(name=
QuestionTypeSelector
value=
AddingFractions
)发布时,以下PHP代码片段是运行的代码的一部分:

$QuestionTypeSelector = $_POST['QuestionTypeSelector'];
 $db->query(" UPDATE answers SET QuestionType = '$QuestionTypeSelector' WHERE user_id=$id");
$\u POST['QuestionTypeSelector']
成功返回
添加分数
,并成功设置
$QuestionTypeSelector
=
添加分数
。反过来,这会将标题为
QuestionType
的列设置为等于
addingfracts

我想将标题为
addingfractionsCore
的列设置为
2
。我尝试了下面的代码,但不起作用

$QuestionTypeSelector = $_POST['QuestionTypeSelector'];
 $db->query(" UPDATE answers SET '$QuestionTypeSelector+Score' = '2' WHERE user_id=$id");
换句话说,我尝试使用JQuery变量来选择列。任何建议都将不胜感激。谢谢

当然可以

$col = $_POST['QuestionTypeSelector'] . 'Score';
$db->query("UPDATE answers SET '$col' = '2' WHERE user_id=$id");

这个过程非常危险,因为您可能是sql注入的受害者。 我建议您使用映射数组来选择列。 锿。 jQuery在变量post中发布一个整数 $_POST['column']=0; 然后在php页面中,获取post值并使用它的ad键检索列名

$availableColumns = array(
    'QuestionTypeSelector',
    'QuestionTypeSelector1,
);

“更新答案集“{$QuestionTypeSelector}分数”='2',其中用户id=$id”谢谢,@Alexartan。如果你将此作为回应,我很乐意“接受”它谢谢你的建议,@davidginani。我对编码一无所知,所以在sql注入方面我并不在行。表单只有单选按钮;没有任何文本输入,用户可以在其中插入sql代码。我仍然易受攻击吗?是的,如果您使用来自get/post请求的变量而不检查它,那么您总是易受攻击的。