PHP中的MySQL查询使用变量作为列的名称

时间:2018-06-14 10:20:52

标签: php mysql sql mysqli

我正在尝试在PHP中执行MySQLi查询,但其中一列的名称存储在变量($result = mysqli_query($con,"SELECT table4.Country, AVG('.$year.') AS 'Total' FROM table4 WHERE table4.Region IN ($region)"); )中:

$year

此查询返回0作为平均值。我认为问题可能是$format = "d-m-Y H:i:s"; echo date($format,strtotime("2018-06-14T10:46:52.3326036+02:00")); 是一个数字,我不知道列是否可以有一个整数作为名称。

我该如何解决这个问题?

提前致谢!

1 个答案:

答案 0 :(得分:2)

您的代码不正确。根据你的代码,MySQL会尝试找到AVG('。$ year。'),这不是一个有效的表达式。这需要改变。

因此,假设$ year包含非整数字段名称,请尝试以下代码:

$result = mysqli_query($con,"SELECT table4.Country, AVG(`".$year."`)  AS 'Total' FROM table4 WHERE table4.Region IN ($region)");

希望这有帮助。