PHP中使用变量作为列名称的MySQL查询
我试图用PHP进行MySQLi查询,但其中一列的名称存储在一个变量(PHP中使用变量作为列名称的MySQL查询,php,mysql,sql,mysqli,Php,Mysql,Sql,Mysqli,我试图用PHP进行MySQLi查询,但其中一列的名称存储在一个变量($year)中: 此查询返回0作为平均值。我认为问题可能是,$year是一个数字,我不知道一列是否可以有一个整数作为名称 我怎样才能解决这个问题 提前谢谢 您的代码不正确。根据您的代码,MySQL将尝试查找不是有效表达式的平均值(“.$year.”)。这需要改变 因此,假设$year包含非整数的字段名,请尝试以下代码: $result = mysqli_query($con,"SELECT table4.Country, AVG
$year
)中:
此查询返回0作为平均值。我认为问题可能是,$year
是一个数字,我不知道一列是否可以有一个整数作为名称
我怎样才能解决这个问题
提前谢谢 您的代码不正确。根据您的代码,MySQL将尝试查找不是有效表达式的平均值(“.$year.”)。这需要改变 因此,假设$year包含非整数的字段名,请尝试以下代码:
$result = mysqli_query($con,"SELECT table4.Country, AVG(`".$year."`) AS 'Total' FROM table4 WHERE table4.Region IN ($region)");
希望这能有所帮助。您需要的是不能是整数的列名,而不是
$year
,并为准备好的语句
爱好者做好准备;提示:使用PDO
“$year是一个数字,我不知道一列是否可以有一个整数作为名称”-如果您的输入是一个数字,但该列不能是一个数字,那么该代码的具体用途是什么?看起来您试图获取字符串的平均值,而不是列的平均值,这也没有多大意义。这个字符串也总是以一个点开始和结束。你能提供一个表模式以及所需的输出吗?更新了答案。
$result = mysqli_query($con,"SELECT table4.Country, AVG(`".$year."`) AS 'Total' FROM table4 WHERE table4.Region IN ($region)");