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