Inherited code works but I'm convinced it can't...magic? - Printable Version +- CodeIgniter Forums (https://forum.codeigniter.com) +-- Forum: Archived Discussions (https://forum.codeigniter.com/forumdisplay.php?fid=20) +--- Forum: Archived Development & Programming (https://forum.codeigniter.com/forumdisplay.php?fid=23) +--- Thread: Inherited code works but I'm convinced it can't...magic? (/showthread.php?tid=55273) |
Inherited code works but I'm convinced it can't...magic? - El Forum - 10-18-2012 [eluser]Unknown[/eluser] This function returns the error “no column ‘week’ in ‘field list’” when I test it in isolation. I know why it’s doing it (the IMPORT table has no column called ‘week’) but fail to see how it could ever run successfully. The db->insert() function receives a table name and an array where the keys are the column headers and the values are the data to put in those columns. As the keys in $data (including ‘week’) are hardcoded it should return this error every time. However, I inherited this code on starting a new job and have every reason to believe it works and has been since I arrived - the return value is needed elsewhere and I know those parts work. private function updateDatabaseStats($start_time, $filename, $nolines) { $file = get_filename($filename, true); $error_file = (file_exists($this->error_file)) ? get_filename($this->error_file, true) : NULL; $imported_rows = $nolines - $this->errorCount; $state = ($nolines == $imported_rows) ? “SUCCESS” : “ERROR”; //Collect all the data. $data = array(‘original_file’ => $file, ‘error_file’ => $error_file, ‘import_start’ => $start_time, ‘import_finish’ => time(), ‘week’ => date(“W”, $start_time), ‘year’ => date(“Y”, $start_time), ‘total_rows’ => $nolines, ‘imported_rows’ => $imported_rows, ‘import_state’ => $state); //Insert the data into the database. $this->CI->db->insert(‘IMPORTS’, $data); return $this->CI->db->insert_id(); } Have you any clue as to how this function can be running without returning the error? Thanks Inherited code works but I'm convinced it can't...magic? - El Forum - 10-18-2012 [eluser]Unknown[/eluser] OK, I've solved it. I have two databases, production and development. The production one has the week column so it works most of the time but the development one was out of date - missing the column - so it doesn't work when using that database. |