Quais tokens podem ser parametrizados em instruções preparadas pelo PDO?
Eu estou brincando com instruções preparadas em PHP / PDO. As consultas básicas funcionam bem, passando um valor para a cláusula WHERE:
$stmt = $db->prepare( 'SELECT title FROM episode WHERE id=:id' );
$stmt->bindParam( ':id', $id, PDO::PARAM_INT );
$id = 5;
$stmt->execute();
No entanto, tenho uma situação em que preciso passar variáveis para os nomes de campo. Esta consulta (com ligação apropriada) funciona bem:
SELECT :field FROM episode WHERE id=:id
Este aqui dá um erro:
SELECT title FROM :field WHERE id=:id
Este não dá um erro, mas não retorna nenhuma linha:
SELECT title FROM episode WHERE :field=:id
Então, o que as coisas devem funcionar em declarações preparadas? Posso 'parametrizar' nomes de campos, nomes de tabelas e assim por diante?