更改If语句内部查询中使用的PHP变量

更改If语句内部查询中使用的PHP变量,php,Php,我在if-else块之外有一个查询。 是否可以更改IF语句中的变量?以下是我迄今为止得到的示例 //connection details $docfk=""; $qry="SELECT * FROM DOC_DETAILS WHERE DOC_FK='$docfk'"; if(a==1){ $docfk='2'; $eqry=mysqli_query($conn,$qry); } if(a==2){ $docfk='3'; $eqry=mysqli_query($conn,$qry); ..

我在if-else块之外有一个查询。 是否可以更改IF语句中的变量?以下是我迄今为止得到的示例

//connection details

$docfk="";
$qry="SELECT * FROM DOC_DETAILS WHERE DOC_FK='$docfk'";

if(a==1){
$docfk='2';
$eqry=mysqli_query($conn,$qry);
}
if(a==2){
$docfk='3';
$eqry=mysqli_query($conn,$qry);
...

我的问题是,
$docfk
似乎没有在
if
语句中携带分配给它的值。

您必须这样做:

//connection details

$docfk="";

if($a==1){
  $docfk='2';
}
if($a==2){
  $docfk='3';
}

$qry="SELECT * FROM DOC_DETAILS WHERE DOC_FK='$docfk'";
$eqry=mysqli_query($conn,$qry);
编辑以匹配Fred-ii的注释-这是非常正确的:变量在PHP中以
$
开头


下面的评论也是非常正确的,你应该使用预先准备好的语句,从我看来你的代码是安全的,但是使用预先准备好的语句是一件非常好的事情,更多细节请参见。

你应该将
a
更改为
$a
并像这样检查($a==1)好吗?

不,不要这样做。你只是自找麻烦。在处理数据库内容时,应该始终使用准备好的语句。我之所以要这样做,是因为我有12个if语句,我需要执行相同的查询,除了$docfk有不同的值。非常感谢。很抱歉。但是即使我把a换成$a,仍然没有得到正确的结果。泰..:在这里初始化$a?在我的if语句之外。好的。如果是这样的话,每边$a的价值是多少。?你能为$a赋值发布代码吗?$emp\U id=$\U post['ndropdown'];