我正在尝试为从codeigniter
网站注册的每个客户创建一个数据库和表格,我正在查看dbforge
文档并尝试使用以下代码。
但是出现了错误,我想让每个客户都变得动态,所以将它放在config / database.php上是不可用的,是否有办法防止这种情况发生? 我是codeigniter的新手,不确定下面的代码是否也正确。
You have specified an invalid database connection group (customer_LYWA) in your config/database.php file.
public function create_customer_database($code){
$database = $this->dbutil->database_exists('customer_'.$code);
if($database){
return "";
}else{
$this->dbforge->create_database('customer_'.$code);
$fields = array(
'blog_id' => array(
'type' => 'INT',
'constraint' => 5,
'unsigned' => TRUE,
'auto_increment' => TRUE
),
'blog_title' => array(
'type' => 'VARCHAR',
'constraint' => '100',
),
'blog_author' => array(
'type' =>'VARCHAR',
'constraint' => '100',
'default' => 'King of Town',
),
'blog_description' => array(
'type' => 'TEXT',
'null' => TRUE,
),
);
$this->dbforge->add_field($fields);
$this->dbforge->add_key('blog_id', TRUE);
// gives PRIMARY KEY (blog_id)
$this->dbforge->add_key('blog_title');
// gives KEY (blog_title)
$otherdb = $this->load->database('customer_'.$code, TRUE);
$this->dbforge->create_table('blog');
return "created";
}
}
答案 0 :(得分:0)
我认为您正在尝试为每个客户创建一个表。
有了这个,我认为你把数据库与表混淆了。数据库包含表,因此您需要连接到 config / database.php 中的正确数据库,并使用您的脚本在该数据库中创建表。
您不需要为每个客户创建新数据库。这会使事情变得比它们应该更难100倍,而且很难维持。