Как выбрать из динамического столбца через переменную с PDO?

У меня есть переменная PHP $col с именем столбца. Я хочу создать запрос с PDO, который выбирает значение этого столбца. Я знаю, как использовать bindValue() , и попробовал следующее:

 $db = new PDO('mysql:host='. $db_host . ';dbname=' . $db_name . ';charset=utf8', $db_user, $db_password); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); function get_user($id, $column){ $sql = " SELECT :col FROM users WHERE `id` = :id;"; try { $st = $db->prepare($sql); $st->bindValue('col', $column, PDO::PARAM_STR); $st->bindValue(':id', $id, PDO::PARAM_INT); $st->execute(); $result = $st->fetch(); return $result; } catch (PDOException $e) { echo "Database query exception: " . $e->getMessage(); return false; } } 

Это приводит к следующему исключению: Исключение Database query exception: SQLSTATE[42S22]: Column not found: 1054 Unknown column ''name'' in 'field list' для $col = 'name' . Конечно, name столбца действительно существует.

Он хорошо работает на WHERE = :value , но я не могу заставить его работать для столбца. Как достичь этого?

Дополнение: я нашел функцию bindColumn() , но я думаю, что делает наоборот, привязывая имя столбца к переменной PHP вместо привязки переменной к столбцу.