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_name,如下所示:預印記錄中無法使用標記
$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 –