Det är bara att göra som du bad om. När en sträng ges, ?
motsvarar en bokstavlig sträng. Så
SELECT * FROM Table WHERE field = ?
betyder
SELECT * FROM Table WHERE field = 'test'
och
SELECT * FROM ?
betyder
SELECT * FROM 'test'
Du måste använda
$dbh->prepare("
CREATE TABLE IF NOT EXISTS ".( $dbh->quote_identifier('test') )." (
`id` bigint(100) unsigned NOT NULL AUTO_INCREMENT
)
");