Codeigniter DBForge add_column returns 只有错误
Codeigniter DBForge add_column returns only error
我正在尝试使用 Codeigniter 的 dbforge 向数据库添加一个新列,但它 returns 只有错误消息不会进入其他列
我的错误:
列名称重复 'github'
更改 TABLE social-settings
添加 github
VARCHAR(255)
我知道有一个列名 github 但它没有进入 else 列,如果列添加失败,它会在数据库中插入两个表,我需要从其他表中删除
$last_id=$this->Forms_model->newArea($this->input->post());
if ($last_id!=false) {
$this->load->dbforge();
$fields = array(
$this->input->post("element_name") => array(
'type' => 'VARCHAR',
'constraint' => '255',
),
);
$table = $this->input->post("element_form_id") == 2 ? "contact-settings" : "social-settings";
if ($this->dbforge->add_column($table, $fields)) {
echo json_encode(returnJson(1, "Yeni form alanı ekleme işlemi başarılı."));
} else {
echo $this->Forms_model->turnToOld($last_id) == true ? json_encode(returnJson(0, "Yeni form alanı ekleme işlemi bir sebepten dolayı başarısız oldu.")) : json_encode(returnJson(0, "İşlemler yapılırken bazı hatalar oluştu, lütfen geliştiricinizle iletişime geçin."));
}
}
table 中必须已经存在同名的列。
您应该在发出 add_column
语句之前使用 $this->db->field_exists()
检查该列是否存在。
$el = $this->input->post("element_name");
if (is_null($el)) {
show_error('element is null');
}
if (!$this->db->field_exists($el, 'table_name')) {
// dbforge
}
我正在尝试使用 Codeigniter 的 dbforge 向数据库添加一个新列,但它 returns 只有错误消息不会进入其他列
我的错误:
列名称重复 'github'
更改 TABLE social-settings
添加 github
VARCHAR(255)
我知道有一个列名 github 但它没有进入 else 列,如果列添加失败,它会在数据库中插入两个表,我需要从其他表中删除
$last_id=$this->Forms_model->newArea($this->input->post());
if ($last_id!=false) {
$this->load->dbforge();
$fields = array(
$this->input->post("element_name") => array(
'type' => 'VARCHAR',
'constraint' => '255',
),
);
$table = $this->input->post("element_form_id") == 2 ? "contact-settings" : "social-settings";
if ($this->dbforge->add_column($table, $fields)) {
echo json_encode(returnJson(1, "Yeni form alanı ekleme işlemi başarılı."));
} else {
echo $this->Forms_model->turnToOld($last_id) == true ? json_encode(returnJson(0, "Yeni form alanı ekleme işlemi bir sebepten dolayı başarısız oldu.")) : json_encode(returnJson(0, "İşlemler yapılırken bazı hatalar oluştu, lütfen geliştiricinizle iletişime geçin."));
}
}
table 中必须已经存在同名的列。
您应该在发出 add_column
语句之前使用 $this->db->field_exists()
检查该列是否存在。
$el = $this->input->post("element_name");
if (is_null($el)) {
show_error('element is null');
}
if (!$this->db->field_exists($el, 'table_name')) {
// dbforge
}