0
$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());
Это всегда показывает ложь. Но если прямо указать имя db_имя:Не работает маркер в заранее поставленных пометках
$sql = 'CREATE DATABASE database';
$sth = $dbh->prepare($sql);
$sth->execute();
Будет работать. Что я делаю неправильно?
Вы можете только связать значения, а не идентификаторы. – mario
Мне нравится ответ на этот вопрос: http://stackoverflow.com/questions/11312737/can-i-parameterize-the-table-name-in-a-prepared-statement –