来自 $_POST["organisation"] 的 Echo 变量仅适用于 sql 查询而不适用于结果总和

Echo variable from $_POST["organisation"] only works in sql query and not in sum of result

来自Android我postname="organisation", value="wwf"。 在 $sql 变量 $organisation 中有效,但在 echo 中使用相同的变量时它不起作用。

如果 $organisation 在 echo 中被 wwf 替换为 inteded 并且 returns 在数据库中选择 wwf 的用户数量。

四处移动 " .$organistion. 但只有在对 wwf 进行硬编码时才能得到正确的结果。

$organisation = $_POST["organisation"];

$sql = "select sum(`$organisation`) from `users` where `$organisation`=1";
$result = mysqli_query($conn,$sql) or die ("Bad Query: $sql");

while ($count = mysqli_fetch_assoc($result)){
    //print_r($count);
    echo"{$count['sum(`$organisation`)']}"; 
}

Var $organisation 在我的 sql 查询中按预期工作,但在回显中它没有 return 值。 var $organisation 似乎没有 return 其值的正确格式,当用于数组 print_r 产生的总和时。

为您的 SQL 中的列起一个别名,这样您就可以更轻松地取回它:

$sql = "select sum(`$organisation`) AS org_count from `users` where `$organisation`=1";

然后你可以使用

echo $count['org_count'];

取回值。

顺便说一下,您真的不应该盲目地允许 post 值中的 $organisation。首先对照现有列进行检查,否则有人可以轻易破坏您的查询。