1

我是 php 新手。
我想动态创建数据库。我发现 Doctrine 2 ORM 可以从命令行创建数据库。但我有一些问题:
1. 它可能不是在命令行中而是在 php 代码中?找不到任何例子。
2. 如果我在 bootstrap.php 中有一个 db 连接配置,如何动态创建 db?
也许存在更好的方法来做到这一点,但我在 Doctrine 教程中观看,它做了很多我想使用它的好事情。

4

4 回答 4

1

您可以使用以下代码在 PostgreSQL 中创建数据库

CREATE DATABASE dbname

以下是在 PostgreSQL 中创建数据库的基本语法...

CREATE DATABASE name
    [ [ WITH ] [ OWNER [=] user_name ]
           [ TEMPLATE [=] template ]
           [ ENCODING [=] encoding ]
           [ LC_COLLATE [=] lc_collate ]
           [ LC_CTYPE [=] lc_ctype ]
           [ TABLESPACE [=] tablespace ]
           [ CONNECTION LIMIT [=] connlimit ] ]

阅读PostgreSQL:创建数据库手册以获取更多信息

于 2013-09-02T09:04:52.210 回答
1

对的,这是可能的。唯一需要的是您在 php 中使用的 db 帐户具有创建数据库的权限

于 2013-09-02T08:53:47.320 回答
0

假设您使用的数据库用户具有表创建权限,则只需提交适当的 SQL 查询即可。我使用 PHP 创建了一个日志表,该表每天写入一个新数据库,以减少插入时间并允许轻松归档旧日志。

mysql_query ("如果不存在则创建表$table_name( idint(11) NOT NULL auto_increment,

...

引擎=MyISAM 默认字符集=latin1;");

于 2013-09-02T08:56:02.193 回答
0

此 php 代码将在 localhost 上创建一个名为 temp 的数据库。用户应具有创建数据库的权限。替换为您的数据库用户名和您的数据库密码。

<?php
$con=mysqli_connect("localhost",<user>,<password>);

$sql="CREATE DATABASE temp";
if (mysqli_query($con,$sql))
{
  echo "Database created successfully";
}
else
{
  echo "Error creating database: " . mysqli_error($con);
}
?>
于 2013-09-02T09:01:40.707 回答