删除mysql的记录不笨工作(Delete mysql records is not working

2019-10-19 01:49发布

这是我的控制器功能:

function delete_article($title){

    if ($this->session->userdata('User') && $this->session->userdata('User') == 'admin@example.com') {

        $this->load->model('Article', 'Article', TRUE);
        $this->Article->delete_article_db($title);

        redirect('admin/user_article');
    } else {
        redirect('');
    }
}

这是删除数据库记录我的模型功能:

 function delete_article_db($title) {
    $this->db->where('Title', $title);
    $this->db->delete('article');
}

当我运行这段代码,没有被删除。 但是,代码不会触发任何错误或警告。

这是我的MySQL表结构:

CREATE TABLE IF NOT EXISTS `article` (
   `Name` text NOT NULL,
   `Email` text NOT NULL,
   `Phone` text NOT NULL,
   `Address` text NOT NULL,
   `Literature` text NOT NULL,
   `Title` text NOT NULL,
   `Submission_Name` text NOT NULL,
   `Additional_Name` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Answer 1:

胡乱猜测的一点,但看你的控制器的方法和变量名,我假设你通过URL传递的称号 ,有点像

http://example.com/admin/delete/Title to be deleted

这使我想起您的查询是不工作,因为在URL中,不会在你的数据库匹配不编码空间的空间(或其他字符)的编码。

试着用:

function delete_article_db($title) {
    $this->db->where('Title', rawurldecode($title) );
    $this->db->delete('article');
}


文章来源: Delete mysql records is not working in codeIgniter