$dbh = new PDO('mysql:host=' . $_POST['db_host'], $_POST['db_user'], $_POST['db_user_password']);
$sql = 'CREATE DATABASE :db_name';
$sth = $dbh->prepare($sql);
$sth->bindParam(':db_name', $_POST['db_name']);
var_dump($sth->execute());
それは常にfalseを示しています。ただし、db_name を直接指定すると、次のようになります。
$sql = 'CREATE DATABASE database';
$sth = $dbh->prepare($sql);
$sth->execute();
それが動作します。私が間違っていることは何ですか?