PHP MySQL:选择标题为年份的列

时间:2014-04-08 10:13:33

标签: php mysql sql

我的表格('contas')包含与其他列中的年份(2014, 2015, etc...)对应的列,例如:

id   | name   | notes   |   2014   | 2015   | 2016
1    | abc    | whatever|   5.25   |  8.50  | 9.50

我想使用PHP从该表中选择与当前年份对应的列。

我有:

$ano=date('Y');
$ano=(string)$ano;

$sql = "SELECT `id`, `name`, `notes`, $ano AS 'saldo' FROM `contas` WHERE ..."; 

$result = $pdo->query($sql);
$rows = $result->fetchAll(PDO::FETCH_ASSOC);

在“saldo”列中,我为每一行获取2014,而不是表格的值。

我尝试在查询中将$ano插入单引号和双引号中,但它不起作用。

2 个答案:

答案 0 :(得分:0)

转义列名..

$sql = "SELECT `id`, `name`, `notes`, `$ano` AS 'saldo' FROM `contas` WHERE ...";

答案 1 :(得分:0)

你可以试试这个:

$ano=date('Y');

$sql = "SELECT `id`, `name`, `notes`,`".$ano."` AS 'saldo' FROM `contas` WHERE ...";