Index: includes/common.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/common.inc,v
retrieving revision 1.746
diff -u -r1.746 common.inc
--- includes/common.inc	22 Dec 2007 23:24:24 -0000	1.746
+++ includes/common.inc	7 Jan 2008 18:25:20 -0000
@@ -3292,21 +3292,26 @@
     $query = "UPDATE {". $table ."} SET $query WHERE ". implode(' AND ', $conditions);
     $return = SAVED_UPDATED;
   }
-  db_query($query, $values);
 
-  if ($serials) {
-    // Get last insert ids and fill them in.
-    foreach ($serials as $field) {
-      $object->$field = db_last_insert_id($table, $field);
+  // Perform query. Return FALSE if query fails.
+  if (db_query($query, $values) === FALSE) {
+    return FALSE;
+  }
+  else {
+    if ($serials) {
+      // Get last insert ids and fill them in.
+      foreach ($serials as $field) {
+        $object->$field = db_last_insert_id($table, $field);
+      }
     }
+  
+    // If we began with an array, convert back so we don't surprise the caller.
+    if ($array) {
+      $object = (array)$object;
+    }
+  
+    return $return;
   }
-
-  // If we began with an array, convert back so we don't surprise the caller.
-  if ($array) {
-    $object = (array)$object;
-  }
-
-  return $return;
 }
 
 /**
