使用PHP UPDATE with SET作为另一个变量的变量集?

使用PHP UPDATE with SET作为另一个变量的变量集?,php,sql,Php,Sql,我想知道这样的事情是否可能 $joinguild = "UPDATE guild SET '.$rank.'='.$receiver.' WHERE name ='"$dupecheckinfo["guild"]"'"; 我试图设置“$rank.”=“$receiver.”,但我不知道是否可以在$rank所在的位置使用变量。有没有合适的方法来写这个。有可能吗?如果不是,你将如何处理?谢谢 编辑:查看我的表如何具有Rank1 Rank2 Rank3等。例如,我正在传递我想要设置的秩值 $ran

我想知道这样的事情是否可能

$joinguild = "UPDATE guild SET '.$rank.'='.$receiver.' WHERE name ='"$dupecheckinfo["guild"]"'";
我试图设置“$rank.”=“$receiver.”,但我不知道是否可以在$rank所在的位置使用变量。有没有合适的方法来写这个。有可能吗?如果不是,你将如何处理?谢谢

编辑:查看我的表如何具有Rank1 Rank2 Rank3等。例如,我正在传递我想要设置的秩值

$rank = $_POST["rank"];

$joinguild = "UPDATE guild SET '.$rank.'='.$username.' WHERE name ='"$dupecheckinfo["guild"]"'";

您的问题很不清楚,但要更新表中的记录,可以使用以下代码行:

  $sql=mysqli_query($conn, "UPDATE `table` SET option1='$op1', option2='$op2', option3='$op3', option4='$op4' where id='$id'");      

如果不清楚,请告诉我

是的,您可以在查询中使用变量作为表名和字段名。但是,您应该尽可能避免它,因为它通常会导致漏洞。使用with,而不是使用字符串连接生成查询。有关一些好的示例,请参见和


不幸的是,绑定机制只适用于值,而不适用于表名或字段名,因此最好避免使用变量表/字段名。如果您发现必须这样做,最好的方法是确保变量的内容与预先设置的允许表/字段名白名单相匹配。

您的问题不清楚,但您的PHP语句中存在一些问题。我认为您正在尝试使用PHP变量创建SQL更新查询

试试这个:

$joinguild = "UPDATE guild SET $rank='$receiver' WHERE name='" . $dupecheckinfo["guild"] . "'";

此处的
$rank
应在表中具有有效的列名。还可以阅读有关SQL注入的内容。

感谢您的回复,我想知道SET option1='$op1'是否可能类似于SET'$options'='$op1'。如果是这样,那么它的语法是什么。option1='$op1'到'$options'='$op1'?还不清楚,你能再详细解释一下吗?谢谢你的帮助。我编辑了上面的描述。看看我是如何将$rank变量传递到PHP脚本的?我需要使用set将其设置为另一个变量。我不清楚您实际试图使用该脚本创建什么,但您的脚本中存在一些错误,只需使用我上面给出的变量名,并将变量名替换为$rank和$receiver即可。