diff --git a/includes/DataHandler.inc b/includes/DataHandler.inc
index c9ffd7d..c0c2749 100644
--- a/includes/DataHandler.inc
+++ b/includes/DataHandler.inc
@@ -152,13 +152,12 @@ class DataHandler {
         $operator = array_shift($value);
         $value = array_shift($value);
       }
-      $query->addWhere(db_escape_table($this->table) . '.' . db_escape_string($key) . " " . $operator . " " . db_type_placeholder($fields[$key]['type']), $value);
+      $query->addWhere(db_escape_table($this->table) . '.' . db_escape_field($key) . " " . $operator . " :" . $fields[$key]['type'], array(":{$fields[$key]['type']}" => $value));
     }
     drupal_alter('data_delete_query', $query, $this->table);
     if (!empty($query->where)) {
       $query->execute();
     }
-    return db_affected_rows();
   }
 
   /**
@@ -246,12 +245,13 @@ class DataQuery {
     foreach ($this->where as $k => $v) {
       $where[] = $k;
       if ($v !== NULL) {
-        $values[] = $v;
+        $values += $v;
       }
     }
     if (!empty($where)) {
       $query .= " WHERE " . implode(' AND ', $where);
     }
+
     // TODO Please convert this statement to the D7 database API syntax.
     return db_query($query, $values);
   }
