如何创建Yii2格式的数据库
我想用yii2创建数据库如何创建Yii2格式的数据库,yii2,Yii2,我想用yii2创建数据库 $servername = "localhost"; $username = "username"; $password = "password"; // Create connection $conn = new mysqli($servername, $username, $password); // Check connection if ($conn->connect_error) { die("Connection failed: " . $c
$servername = "localhost";
$username = "username";
$password = "password";
// Create connection
$conn = new mysqli($servername, $username, $password);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// Create database
$sql = "CREATE DATABASE myDB";
if ($conn->query($sql) === TRUE) {
echo "Database created successfully";
} else {
echo "Error creating database: " . $conn->error;
}
$conn->close();
有了这段代码,我们可以创建DB,但我想知道是否可以用Yii2方式来创建不建议在运行时创建表。已设置架构并运行SQL/非SQL查询 为此,您需要在config文件夹中创建一个文件(比如
myDB.php
),并提供如下数据库详细信息:
<?php
return [
'class' => 'yii\db\Connection',
'dsn' => 'dblib:host=localhost;dbname=yourDBName',
'username' => 'yourUsername',
'password' => 'yourPassword',
'charset' => 'utf8',
];
$query = 'select columnID from table where ID=:ID';
Yii::$app->my_db->createCommand($query)
->bindValue(':ID',1)
->queryOne();
在控制器中,按如下方式使用此数据库:
<?php
return [
'class' => 'yii\db\Connection',
'dsn' => 'dblib:host=localhost;dbname=yourDBName',
'username' => 'yourUsername',
'password' => 'yourPassword',
'charset' => 'utf8',
];
$query = 'select columnID from table where ID=:ID';
Yii::$app->my_db->createCommand($query)
->bindValue(':ID',1)
->queryOne();
目前,您无法使用Yii2实现这一点。这是因为对于一个框架来说,让所有东西都在许多数据库引擎(MySQL、Oracle、MSSQL等)上工作太复杂了。编写代码的工作量太大,但可以使用您的查询完成功能
在我看来,使用当前数据库连接创建数据库没有什么错。这可以在SaaS多租户体系结构中找到,当一个新的客户端注册一个帐户,然后创建一个新的独立数据库来封装大部分内容/出于安全原因。查看文档,我找不到一种方法可以像创建表一样在Yii2中创建数据库。谁否决了我的问题?为什么?对我来说,这似乎是一个合理的问题,不应该被否决。