¿Cómo configuro los parámetros ORDER BY usando la declaración PDO preparada?

Tengo problemas para usar los parámetros en elORDER BY sección de mi SQL. No emite ninguna advertencia, pero no imprime nada.

$order = 'columnName';
$direction = 'ASC';

$stmt = $db->prepare("SELECT field from table WHERE column = :my_param ORDER BY :order :direction");
$stmt->bindParam(':my_param', $is_live, PDO::PARAM_STR);
$stmt->bindParam(':order', $order, PDO::PARAM_STR);
$stmt->bindParam(':direction', $direction, PDO::PARAM_STR);
$stmt->execute();

los:my_param funciona, pero no:order o:direction. ¿No se está escapando internamente correctamente? ¿Estoy atascado al insertarlo directamente en el SQL? Al igual que:

$order = 'columnName';
$direction = 'ASC';

$stmt = $db->prepare("SELECT * from table WHERE column = :my_param ORDER BY $order $direction");

Hay unPDO::PARAM_COLUMN_NAME constante o algún equivalente?

¡Gracias!

Respuestas a la pregunta(8)

Su respuesta a la pregunta