我有3個應用程序共享一個codeigniter安裝的項目。直到我更改了mysql表的名稱,並且更改了查詢以反映數據庫的新更改之前,它一直非常好用。現在看起來像我的插入查詢緩存,並嘗試將值插入舊錶(這不再存在)。這是我到目前爲止已經試過:Codeigniter活動記錄查詢緩存 - 查找舊錶名而不是新表
CI:
$this->db->cache_delete_all()
的mysql:
RESET QUERY CACHE;
在配置/ database.php中:
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
當db_debug配置設置爲TRUE它會給出500錯誤,當FALSE時,我能夠捕捉到錯誤,並且它變成了它試圖插入到舊錶中, ist了。我不明白這怎麼可能,我甚至搜索了我的完整項目,並且無法在我的項目中的任何位置找到舊錶名,CI緩存文件夾也是空的。任何幫助,將不勝感激。
編輯:我的插入代碼:
if($this->db->insert('booking_calendar', $data))
{
$booking_id = $this->db->insert_id();
$this->load->helper('string');
$order_id = strtoupper(random_string('alnum', 6)) . $booking_id;
$data = array(
'id' => $order_id,
'booking_calendar_id' => $booking_id,
'status' => 'PAYMENT_PENDING'
);
if($this->db->insert('bookings', $data))
{
$this->notifications->add($MYSELF['id'], 'Court successfully booked.');
return $order_id;
}
$this->notifications->add($MYSELF['id'], 'Court booking failed.', 'warning');
return false;
}
else
{
log_message('ERROR', 'Insert booking_calendar failed. ' . print_r($this->db->_error_message(), true));
}
而且這是在我的日誌輸出:
ERROR - 2013-09-23 20:05:13 --> Insert booking_calendar failed. Table 'tennis.courts_calendar' doesn't exist
通知是自定義的類,它只是插入一行在「通知」表。
發佈您的插入代碼 - 最有可能你錯過了改變那裏的東西 – jmadsen
@jmadsen我編輯了我的問題,包括插入代碼,對於遲到的答案感到抱歉。 – Dexa