Я запускал какой-то код, и у меня не было никаких ошибок, но строка не удалялась … поэтому я немного смутился. Итак, я проверил код и выяснил, что у меня возникла проблема с моим запросом, но в то же время он не выдавал истинный результат моему тесту с помощью mysql_error ().
Я использую код ниже.
try { // Start transaction beginTransaction($this->db_connection); } catch (Exception $e) { throw new Exception($e->getMessage()); } try { // Delete main entry $this->removeMainEntry($lid); // Delete list columns $this->removeListColumns($lid); // Commit changes to database commitChanges($this->db_connection); } catch (Exception $e) { try { // Rollback changes rollback($this->db_connection, $e->getMessage()); } catch (Exception $re) { throw new Exception($re->getMessage()); } throw new Exception($e->getMessage()); }
Здесь проблема заключается в том, что она не входит в раздел mysql_error ().
protected function removeMainEntry($lid) { $lid = (int) $lid; // Remove from database $query = "DELET FROM lists WHERE id=" . $lid . " LIMIT 1"; $sql = mysql_query($query, $this->db_connection); if (mysql_error()) { $etext = 'Problem removing list main entry from database.'; $log_error = $etext . ' MySQL Error: ' . mysql_error() . '. Query: ' . $query; log_site_error($log_error); throw new Exception($etext); } }
Вот код из тех функций, которые я использовал.
if (!function_exists('beginTransaction')) { function beginTransaction($dblink) { $query = "BEGIN"; mysql_query($query, $dblink); if (mysql_error()) { $etext = 'Problem adding new list data to database.'; $log_error = $etext . ' MySQL Error: ' . mysql_error() . '. Query: ' . $query; log_site_error($log_error); throw new Exception($etext); } } } if (!function_exists('commitChanges')) { function commitChanges($dblink) { $query = "COMMIT"; mysql_query($query, $dblink); if (mysql_error()) { $etext = 'Problem adding new list data to database.'; $log_error = $etext . ' MySQL Error: ' . mysql_error() . '. Query: ' . $query; log_site_error($log_error); throw new Exception($etext); } } } if (!function_exists('rollback')) { function rollback($dblink, $error = '') { $query = "ROLLBACK"; mysql_query($query, $dblink); if (mysql_error()) { $etext = $error . ' Additionally there was a problem rolling back the changes in the database. Please check the logs.'; $log_error = $etext . ' MySQL Error: ' . mysql_error() . '. Query: ' . $query; log_site_error($log_error); throw new Exception($etext); } } }