创建数据库如果不从DBAL水平
问题描述:
存在我试图创建数据库这样的:创建数据库如果不从DBAL水平
const QUERY_DB_CREATE = "
CREATE DATABASE :db_name
";
if (database is not exists) {
$stmt = $conn->prepare(self::QUERY_DB_CREATE);
$stmt->bindValue(':db_name', $db_name, 'string');
return $stmt->execute();
}
错误
PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42601]: Syntax error: 7 ERROR: syntax error at or near "'testtesttest2'"
我在做什么错?
答
您应该看看DoctrineBundle command(用于Symfony框架)来创建数据库。不知道更多关于您的实施细节,这些行尤其应该对你的情况有用:
$tmpConnection = DriverManager::getConnection($params);
...
$tmpConnection->getSchemaManager()->createDatabase($name);
我怀疑很多事情都是错误的。首先,您不能在准备好的语句中使用表名和列名的参数。 – Cerad