我使用CI面对一件非常奇怪的事情,
我使用DBforge类创建表,一切都很好,表确实是在我的数据库上创建的。
然而,当我尝试使用新创建的表(插入,检查是否存在等)时,我无处可去。 给出以下简单代码:(两个函数都在模型中)
function create_modules_table($tablename)
{
$fields = array(
'module_name' => array(
'type' => 'VARCHAR',
'constraint' => '100'
),
'status' => array(
'type' =>'VARCHAR',
'constraint' => '100'
),
);
$this->dbforge->add_key('module_name', TRUE);
$this->dbforge->add_field($fields);
return $this->dbforge->create_table($tablename);
}
其次是
function table_exists($table)
{
return $this->db->table_exists($table);
}
如果我跑
$this->create_modules_table('table');
$reply = $this->table_exists('table');
事实证明$reply is returning false
。
我检查了我的数据库 - 表确定在那里,100%正常工作。
所以我再次运行代码,而没有从数据库中删除表now the reply is true
。
第一次运行始终未通过检查,就好像CI不知道数据库中发生了某些变化。 **任何人都可以了解这里发生的事情吗? **