2013-11-26 122 views
0

工作這是我的控制器功能:刪除mysql的記錄不笨

function delete_article($title){ 

    if ($this->session->userdata('User') && $this->session->userdata('User') == '[email protected]') { 

     $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; 
+3

檢查CodeIgnitor日誌:

與嘗試? – user2486495

+0

你是否檢查過有這個標題的文章?你檢查服務器日誌嗎? – Sal00m

+0

它與'$ this-> db-> delete('article',array('Title'=> $ title));'? – 2013-11-26 17:53:19

回答

2

胡亂猜測的一點,但看你的控制器的方法和變量名,我假設你通過傳遞標題 URL,像

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

這使我想起您的查詢是不工作,因爲在網址(或其它字符)的空間的編碼,這將不是在你的數據庫匹配不編碼空間。

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

完美的作品..爲我現在..非常感謝你..我解決這個從最後2小時謝謝你再次.. :) –

+2

很高興它的工作! :)作爲一個建議:當你不確定它的內容時,總是使用'var_dump()'變量(就像在_where_子句中一樣) –