Nó chỉ làm những gì bạn yêu cầu. Khi được cung cấp một chuỗi, ?
tương đương với một chuỗi ký tự. Vì vậy,
SELECT * FROM Table WHERE field = ?
nghĩa là
SELECT * FROM Table WHERE field = 'test'
và
SELECT * FROM ?
nghĩa là
SELECT * FROM 'test'
Bạn cần sử dụng
$dbh->prepare("
CREATE TABLE IF NOT EXISTS ".( $dbh->quote_identifier('test') )." (
`id` bigint(100) unsigned NOT NULL AUTO_INCREMENT
)
");