それはあなたが求めたことをしているだけです。文字列を指定すると、?
文字列リテラルと同等です。だから
SELECT * FROM Table WHERE field = ?
意味
SELECT * FROM Table WHERE field = 'test'
および
SELECT * FROM ?
意味
SELECT * FROM 'test'
使用する必要があります
$dbh->prepare("
CREATE TABLE IF NOT EXISTS ".( $dbh->quote_identifier('test') )." (
`id` bigint(100) unsigned NOT NULL AUTO_INCREMENT
)
");